From d60424c581ab5a7dd36c77a9ccca5e87203df3cc Mon Sep 17 00:00:00 2001 From: souzatharsis Date: Sun, 5 Jan 2025 22:19:51 -0500 Subject: [PATCH] managing input data Chapter is ready for review --- Makefile | 8 +- README.md | 2 +- TESTIMONIALS.md | 5 + meta2.png | Bin 0 -> 911336 bytes meta2.svg | 894 ++++++++ poetry.lock | 1392 +++++++++++- pyproject.toml | 2 + .../_build/.doctrees/environment.pickle | Bin 6805733 -> 7284586 bytes .../_build/.doctrees/markdown/intro.doctree | Bin 45847 -> 46679 bytes .../_build/.doctrees/markdown/preface.doctree | Bin 23865 -> 27265 bytes .../_build/.doctrees/markdown/toc.doctree | Bin 12936 -> 13599 bytes .../.doctrees/notebooks/alignment.doctree | Bin 384615 -> 388015 bytes .../_build/.doctrees/notebooks/cost.doctree | Bin 100097 -> 104778 bytes .../_build/.doctrees/notebooks/evals.doctree | Bin 874514 -> 877914 bytes .../_build/.doctrees/notebooks/input.doctree | Bin 261495 -> 397189 bytes .../_build/.doctrees/notebooks/local.doctree | Bin 328133 -> 331533 bytes .../_build/.doctrees/notebooks/safety.doctree | Bin 523837 -> 527246 bytes .../notebooks/structured_output.doctree | Bin 211485 -> 214886 bytes tamingllms/_build/html/_images/LC.png | Bin 0 -> 97321 bytes tamingllms/_build/html/_images/embedding.svg | 118 + tamingllms/_build/html/_images/incontext.svg | 4 + tamingllms/_build/html/_images/llm_judge.png | Bin 0 -> 715878 bytes tamingllms/_build/html/_images/llm_judge.svg | 879 -------- tamingllms/_build/html/_images/meta2.png | Bin 0 -> 273676 bytes tamingllms/_build/html/_images/meta2.svg | 882 -------- tamingllms/_build/html/_images/rag.svg | 4 + tamingllms/_build/html/_images/similarity.png | Bin 0 -> 31979 bytes .../_build/html/_sources/markdown/intro.md | 12 +- .../_build/html/_sources/markdown/toc.md | 12 +- .../_build/html/_sources/notebooks/cost.ipynb | 4 +- .../html/_sources/notebooks/evals.ipynb | 6 +- .../html/_sources/notebooks/input.ipynb | 1336 ++++++++++-- .../_build/html/_static/evals/llm_judge.svg | 879 -------- .../_build/html/_static/evals/llmjudge.d2 | 39 +- .../_build/html/_static/evals/meta2.svg | 882 -------- tamingllms/_build/html/_static/input/LC.png | Bin 0 -> 97321 bytes .../_build/html/_static/input/embedding.d2 | 38 + .../_build/html/_static/input/embedding.svg | 118 + .../_build/html/_static/input/incontext.svg | 4 + .../_build/html/_static/input/incontext.xml | 57 + tamingllms/_build/html/_static/input/rag.svg | 4 + tamingllms/_build/html/_static/input/rag.xml | 122 ++ .../_build/html/_static/input/similarity.png | Bin 0 -> 31979 bytes .../_build/html/_static/input/vectordb.png | Bin 0 -> 16764 bytes tamingllms/_build/html/markdown/intro.html | 6 +- tamingllms/_build/html/markdown/preface.html | 4 +- tamingllms/_build/html/markdown/toc.html | 9 + .../_build/html/notebooks/alignment.html | 290 +-- tamingllms/_build/html/notebooks/cost.html | 94 +- tamingllms/_build/html/notebooks/evals.html | 268 +-- tamingllms/_build/html/notebooks/input.html | 971 +++++++-- tamingllms/_build/html/notebooks/local.html | 284 +-- tamingllms/_build/html/notebooks/safety.html | 448 ++-- .../html/notebooks/structured_output.html | 136 +- tamingllms/_build/html/objects.inv | Bin 3623 -> 3839 bytes tamingllms/_build/html/searchindex.js | 2 +- .../jupyter_execute/markdown/intro.ipynb | 14 +- .../jupyter_execute/notebooks/cost.ipynb | 4 +- .../jupyter_execute/notebooks/evals.ipynb | 6 +- .../jupyter_execute/notebooks/input.ipynb | 1336 ++++++++++-- tamingllms/_static/evals/llm_judge.svg | 879 -------- tamingllms/_static/evals/llmjudge.d2 | 39 +- tamingllms/_static/evals/meta2.svg | 882 -------- tamingllms/_static/input/LC.png | Bin 0 -> 97321 bytes tamingllms/_static/input/embedding.d2 | 38 + tamingllms/_static/input/embedding.svg | 118 + tamingllms/_static/input/incontext.svg | 4 + tamingllms/_static/input/incontext.xml | 57 + tamingllms/_static/input/rag.svg | 4 + tamingllms/_static/input/rag.xml | 122 ++ tamingllms/_static/input/similarity.png | Bin 0 -> 31979 bytes tamingllms/_static/input/vectordb.png | Bin 0 -> 16764 bytes tamingllms/latex/evals.tex | 1910 +++++++++++++++++ tamingllms/latex/intro.tex | 138 +- tamingllms/markdown/evals.md | 1148 +++++++++- tamingllms/markdown/frontiers.md | 6 + tamingllms/markdown/intro.md | 12 +- tamingllms/markdown/toc.md | 12 +- tamingllms/notebooks/cost.ipynb | 4 +- tamingllms/notebooks/evals.ipynb | 6 +- tamingllms/notebooks/input.ipynb | 1336 ++++++++++-- tamingllms/references.bib | 691 +++++- 82 files changed, 11883 insertions(+), 7098 deletions(-) create mode 100644 TESTIMONIALS.md create mode 100644 meta2.png create mode 100644 meta2.svg create mode 100644 tamingllms/_build/html/_images/LC.png create mode 100644 tamingllms/_build/html/_images/embedding.svg create mode 100644 tamingllms/_build/html/_images/incontext.svg create mode 100644 tamingllms/_build/html/_images/llm_judge.png delete mode 100644 tamingllms/_build/html/_images/llm_judge.svg create mode 100644 tamingllms/_build/html/_images/meta2.png delete mode 100644 tamingllms/_build/html/_images/meta2.svg create mode 100644 tamingllms/_build/html/_images/rag.svg create mode 100644 tamingllms/_build/html/_images/similarity.png delete mode 100644 tamingllms/_build/html/_static/evals/llm_judge.svg delete mode 100644 tamingllms/_build/html/_static/evals/meta2.svg create mode 100644 tamingllms/_build/html/_static/input/LC.png create mode 100644 tamingllms/_build/html/_static/input/embedding.d2 create mode 100644 tamingllms/_build/html/_static/input/embedding.svg create mode 100644 tamingllms/_build/html/_static/input/incontext.svg create mode 100644 tamingllms/_build/html/_static/input/incontext.xml create mode 100644 tamingllms/_build/html/_static/input/rag.svg create mode 100644 tamingllms/_build/html/_static/input/rag.xml create mode 100644 tamingllms/_build/html/_static/input/similarity.png create mode 100644 tamingllms/_build/html/_static/input/vectordb.png delete mode 100644 tamingllms/_static/evals/llm_judge.svg delete mode 100644 tamingllms/_static/evals/meta2.svg create mode 100644 tamingllms/_static/input/LC.png create mode 100644 tamingllms/_static/input/embedding.d2 create mode 100644 tamingllms/_static/input/embedding.svg create mode 100644 tamingllms/_static/input/incontext.svg create mode 100644 tamingllms/_static/input/incontext.xml create mode 100644 tamingllms/_static/input/rag.svg create mode 100644 tamingllms/_static/input/rag.xml create mode 100644 tamingllms/_static/input/similarity.png create mode 100644 tamingllms/_static/input/vectordb.png create mode 100644 tamingllms/latex/evals.tex diff --git a/Makefile b/Makefile index 448ad0e..d31bfef 100644 --- a/Makefile +++ b/Makefile @@ -10,13 +10,9 @@ clean: poetry run jupyter-book clean tamingllms/ -convert: +convert-to-markdown: poetry run jupyter nbconvert --to markdown $(file) d2: - d2 -t 1 --sketch tamingllms/_static/safety/design.d2 tamingllms/_static/safety/design.svg - - -convert-latex: - jupyter nbconvert tamingllms/notebooks/structured_output.ipynb --to latex + d2 -t 1 --sketch $(file) $(output) diff --git a/README.md b/README.md index 93228a1..216b542 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Abstract: **The current discourse around Large Language Models (LLMs) tends to f | About the Book | | | [html](https://www.tamingllms.com/markdown/intro.html) | N/A | *Ready for Review* | | Chapter 1: The Evals Gap | [pdf](https://www.dropbox.com/scl/fi/voyhpqp0glkhijopyev71/DRAFT_Chapter-1-The-Evals-Gap.pdf?rlkey=ehzf6g4ngsssuoe471on8itu4&st=zqv98w2n&dl=0) | [podcast](https://tamingllm.substack.com/p/chapter-1-podcast-the-evals-gap) | [html](https://www.tamingllms.com/notebooks/evals.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/evals.ipynb) | *Ready for Review* | | Chapter 2: Structured Output| [pdf](https://www.dropbox.com/scl/fi/x3a84bm1ewcfemj4p7b5p/DRAFT_Chapter-2-Structured-Output.pdf?rlkey=zysw6mat7har133rs7am7bb8n&st=4ns4ak24&dl=0) | podcast | [html](https://www.tamingllms.com/notebooks/structured_output.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/structured_output.ipynb) | *Ready for Review* | -| Chapter 3: Managing Input Data | | | [html](https://www.tamingllms.com/notebooks/input.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/input.ipynb) | WIP | +| Chapter 3: Managing Input Data | | | [html](https://www.tamingllms.com/notebooks/input.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/input.ipynb) | *Ready for Review* | | Chapter 4: Safety | | | [html](https://www.tamingllms.com/notebooks/safety.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/safety.ipynb) | *Ready for Review* | | Chapter 5: Preference-Based Alignment | | | [html](https://www.tamingllms.com/notebooks/alignment.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/alignment.ipynb) | *Ready for Review* | | Chapter 6: Local LLMs in Practice | | | [html](https://www.tamingllms.com/notebooks/local.html) | [ipynb](https://github.com/souzatharsis/tamingLLMs/blob/master/tamingllms/notebooks/local.ipynb) | *Ready for Review* | diff --git a/TESTIMONIALS.md b/TESTIMONIALS.md new file mode 100644 index 0000000..bcbc103 --- /dev/null +++ b/TESTIMONIALS.md @@ -0,0 +1,5 @@ +> "I clicked on the link to quickly read the comparison result before going to bed. Ended up reading almost the whole website. Great resource, which covers everything I’ve learned in the past year and much more! Thank you!" +-- Julien Nahum, Founder of NotionForms, Ex-SDE at AWS + +> This is amazing content, thank you so much for sharing!!! +-- Didier Lopes, Founder of OpenBB diff --git a/meta2.png b/meta2.png new file mode 100644 index 0000000000000000000000000000000000000000..d37f3918fec5ab2378e91707b571576686ebdb2d GIT binary patch literal 911336 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

L&)EJ0QdXSS| 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%0DX#Y`N~sXAUI(Y+rSIyySy=H?0XDX)Zs033<J*l? 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 u7U+Sv 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ⅆbru)Acevmx5!8EkISb98{78 z&b=>VzO{Z{e59#KACzsAinfPGhd+iEjmCymnxyI~=u6O>+|vf$45fX#gK_ zhnB)Ii5WqZwk$>7uQ)!d*p39%;Ma!F(zY$;5GujuJTep`7sfDC0aoF}CL1CwrcjkRVAw zKyZjbXx;AKD|@Ja(+9$@FORR+^gZdfplGEz@Ak9$OOQ7P>4P{)d#k@sH>UBOi5{LY zq%tb@bfnx%3lyg2$PYqL#eH@;lfjG zcpD|`iKwCl*Qp2f) zWIJ>S=pTszUv&P*1SCCaI&4skzurKL=D+OW-d$e=(kW!J0qF|Z{sj+L!|9?=10SRO zJi9ZQIut~SC}IkRGF}uM>OV4z8P_8vdfxVJ9C(y#{7dUyNl)`tiq-O8_qb2FQ|X=* zzJA5);(hz0I*!O(n$`2?jhR{AOLg^{$zKb9qGVBVy;kHp&`+1=EnTMeB^Im@S=d#d zXwTne%0fXF=t90`J=c=cz`4T9|55)Hpg*(AiwDcpP8)|Lz?X@JWi(NOT{C=Y%%=Rn zPf8Jzzrv`bqXG4_OComoPGE1xyhhjE^}QEc@udTe7G#(tGiv@#`A7WUs3RR6Z;1&B zSr{-;-&$^XGN-(EZ`cS7Gkn6x_$j#tNL5a}#mx3L0fU|XUei5N%7`sAYbZiP`)?Wp zot`H6Zwo5aeRIR;z_apBg^pz1rV{4zF(!?i3bG-Y^wgl*!e2$w0bjzv2$6AB$Wm_A zhKh^@Q|EHDUVh*F5`Y0%7&4UxaNqRYtSn;<4jg?iUjxsPv|t+k#}Y*B%Zy*HIY4O| zcU!Y9vFm8a-eVri#LD{eED7DM-i?@OOLr9M)Wpcq81l7>s{_D@78j90E&tgkBEpI$ z5eh>8e#Po$8o@0|s}lg0%gxfJdT!?hq#WM9m@g*F&-3Mv4yV|>LUdm|wNAC&xX`Gr zeg!~pwv$O1Fcub-OqNYR@UMlzx7!Fv>J{l;FMI%*$=e*Vrsub04<8oEf;poONBHCR z@;>qQ6~M^fN*(iEOaAmp-rhdH#$Qnt22NUKJ9Ik^U20nTWK)A=gNOWo#`5KB^+e1Rm-f6LMFWC}($uM+fiEmu#frU+~CE9V;Xu7pqk`SN6 ze2vDlGn@P$KQLM0B0H?eE{!&bJ7{8JlG=UcvKHy>(cyAp!oH*B&sVk(j~&K|#cf*HTY z_ljPaklIfeM@=)#SU5Nn+oUa%!8y90$Eajb+0AxkrjmJn3=S5I=C7=k0!B_sAx$CV-;$TBM>BW2px2U2Ik~!m0(dz$Gs^O z=H?E7uk^=4zQ|JR0!`HE;5wA^5=7E5MKJzv3U38}H~`$@C(7QSC|(Y{34Wpker(`O zIRxKGPwgrX!|wLO1MaX5DMR}4dA$%NT??b*=V^2l0}tGsUmm#HUWdD1Yt;)BnykPj zet#RI?%`{oqC)di)dn^ji$2@4JM{Bs3?`}19a8t@rd6TDLDy>@vqE8d`hdPf#psc~ zo01ObYA@O;ZBUXh!ovhXto|h-RhSlvlx?lCjIeX9SFR>^CZR;9>#y8baP$1!3P4pV z`)246VOt2Qy+BUE9wJnnnSCUg6Uma^%dRn9ztYUKo~uqJBiMY_W8?2AFHYbSo~U*FTFjaKs*luXf# zLjRBLowf6pJ_}`6FOSb=eApQ9;3E2oMH?Q7q(C^uwEH>!pPMeb*#@tQ2}ZpI9a-5m zLXBqrCC+CtF{&kYZwfz{B9}aY)I7#H@5yw0+|~8H~`wW=Nu{x;CGYx-g@puuFM z#0C0q9l5!t>g@wn&nrks)m&ZcO1zVKFtM;yo#Pf?fcy0(nDzN{r7r<*Gr&vJStY1G z8sEAq$R1~z4V{i$q(1EefhhTG&Ku|;WCQn5N^)2F&cV$19!_T4U@vIsB0#= zXKMCIZf^Bz5Zxd~wHJ@l$#2(dj^t6-WOJQUGd{mFfxzwBpPxXXTrthx(EV8UCpvlsL7Ka@D(G@h_9ITX!Lrq z;DK~=+w;&dY^^)5eXXCFm_kpEXw;XnLjY%-az9D`fzXo|%Dl^I4vvmL7KawgWKnBF6LbpI zURJ265w`LmS+-TkgS9rosljDJ_=d|L66^kjtkyjPXx58ifRU5o4G zSuo|Vv%Ch-p4^6YJ&C*teyE9v7$0telNapRT^4o5$Y)|GPn|7Ndk4Mu3@e|@D z2u(PTibn{C7E_vpASb8FyDt1ilYyc5IF+=Wk-{T^}(fs&uVk)9iohG06 z)bw<8>OYHJO?NpMg~H+e@f!1mv1W==ap-Jd{o@`N-t@heW6?6~L(X;lg_z`zgET8-Ib8Q&CeQX42!ucL_jwYOpmrzs*=0+2+J{LT_sa2g-NCJATUHEE z?rGI=@>P-S+m~QnL;yp!KOU7j`L|7jp(KGLP3;NY2G{4mysvDOLQ%bG+c37QWCKcz zwU}vXRTG+?8p&lB{dxFPCSZHpIuw7TWIxK;N|z;py)=#T0BzLQNSsOWbl}@Npk4W7 zl!mJ~t%U4;jze6mJW(;7;CAG_EBpi$g6&QLO)CWa zA#A$*aknn(JH$qUsZR}*zFjsI6@`FjFPK9zRwG zM}Eruz1;Qnb^OzxIaI+r%OEq$s!{e9dqhmh)+FWqx=k|DbCu1ogPk?JgPxAK?4U29 zpO}zR?7H=OR75eEe#Fhu!7_u7ab&W(4Z50*b!GQ4i4@UG5Ev{%M*A-WeW$09`!9G> zoNEmpjCO#J3wsSdZk0}I)Eno@F|dvVH0v&oRW3IQjo1V`!ci~kasu~gz!$ohMJ5P} z7Km@zuFUi}Vd~2)Q+C>nbo9Ba&*L^7pQ0MBoaAf)uDRityvdIYoxP>l z6(m-v$Fnb}x5f2AG##uO?E~kFzlWUnUnF(?o5jPc{e0FaS<9|j*XeJxP_OU=EN-;O z5JxOwJ`*-!`!F4P!wt5{?*G{)&Wlo1!{rj95@)kK@u5Q`{8$&)GjLw2(|1qXK z{;v)&#kZ6C@BCn#Ykj}eq8n|$6-RrrCFmZF-eL{8!FW)(=YwRQr9d&#M}}Z}hO70Y zmf^cPUZSM(yA@05M&QCrkUJ>{D6A2qB zKy8^U+e`uG${|wov=YxPqytL1k{=8bu;{|vBAkEcpJplKzr+?D&|Jq{=*z7+~`T*thzlvc$*k_IW zu5Y0TAb?|w@Y*Wax9>{fHy7LiQlrH$VcJf(aFP0qoO~cU1#i209YKOk!|5^j%zb%{ z@3WPXha(|xkxzvLWg09~%um#>1b1>KM%ZVWGJ!cxWO;cRg`2wod$G@CRHQ$^>sEDL zZ|B-yG~D&`V6?Hdz<8AEaU4K=rYhme`P%Hag%~*iS;PVM^ooc(i&W?dggV#>h44P`nmSppI&aR6DRzD>~Na!FAS@UnPH z?eC@i3L7rsK_wpb4}_uii$$cHZpp9imLGyj?(+ec(PrnZct%<1`1|#no~7)eF}}q# z6nh#vnQ>$k2{bs86%yL*-S@McCqSX@DDHD*vf%3%yjJ7Ba@~@n38g7vRnLT;}nV-nCIbSNl1IqCeeqP!u=x~vgr`aTbebAq95qm@i=lL0d z|2;Z|oPwPgTANG#Lb}^>_wboDPddLnVV57bDBO`|p98FZ7Pg3QNMhNvOs7=Dw+?u1 zFNbOz0}gvEegC}(D&9d$e29_e0d3Vhm*nPA&<8A3-rf|O$j;ud8V0)UvS83Ws~uX7 zj$lzB2c;D&d0f@7EBycyoEkr|XA13VDHy+pr*Ep`aG%Eqe$mfnN?Tep@)| zA0&KE+DeBLbMhD4lC1m;%Imv?IkO+7W04ltvR7jIZ8tQ1sQbs^ymn1 zW?}g+iQZ|wI7qRhCm~76l98=vYJR91o9S;_USQZPCLkc7UgFgBYE)#|91&m)wCeMCPHhCkb*B|Gq}A=`T{u&pO{CGakK|#7@v+ zh{z94|_*$)ryQ3p` z*9u8XB9u&V$hsHkh;&qZP&=Op?RnFefDG#WCXKQKj;Mk}_S9Ym-03QXzrmJAQSh@= zw5KT)1{*3fgfi(wjVKANfMkeYB4)nhTNY4PV`gAT1O)&|GtZKM9pPJsrxC6{mn|Z% z=LKlmj85bMJ567auoUmg?sgUn&_bX7FF@1=hU5TttNkNTI>2XbzLgODrKsdKjM&%Q zm`M3c)H40|kt8FkIJzfG-F|*y{@E``0h&S0DyX0@kM`X5m!elDx#h%KI7dXz^D;=R zBx2zcSd)qsX3(%PRj9v9_MaT=;CYvnI73m{*O^AOyuDk9aeIHHp*(}DIw^DD-OMyG0Ps+TcBOFD84+P5cO(Uo2k12kw}9B|A6s-l7CYI zrVL7*-5&s~q+>9I+$QjAx{r6=isPx*ZjBM`n4a%*9iN20B&7kizZdk&XhI+{3yd#6 z%OIo7EqX<{pHP`kILuGSjF;QoHvve@>3EHLSQJODe8|Il^7POq^I-X?)jGM~xiyic zX@uX)K!F=pkp7(mhZrBX8zYV=LuTahJqoUacD`rhAE5qTnEqv1p!}xf0rin~Hp9P+ zCfHXE;Z3|jvY!w6N+)c32V@quHeE}+6ufN&y-qK*Ko7G}@Zn4+BAS|@bUK}g8c*%w z73o#9YoBbBDIHe1|@*>@?)<_e`Wiv4E$C%1ra=|~e4ITN(U(m9#S6hX7hoXkTG%5==Ml(Kv71MrcS6!T2H&^crShm8|A_ zQV^xpV2^M-mZs3H-i3rKNZP*gH`O(4)TBux);1d)+_ZD08+_6hT9yz$Fz}!oEBfaO zP?>&69xK}`C^-k()sC|!kR07}BVk}6m-zj^77jy@>;K0>!YjPD2)E$X^6iD!9hdt6 zn&9OI8Muq8c*mQ82ph$+U&$U4xZVZOj~C0sN`rExa0`^8YFuO}E5|ZEC6!*jufNt2 zdS`-W*`^ebK^x7_Ar3&^oDUsx2WF#Le=eQn6j%z2!ogfBq7OVisV58W4U2Q-+{4rC z2U_?TeRkrk|Lh_|v=~kyq77K6w+Zit$tStCQBPI%XXJK=q@%n7KT_XNcKMl*hWfog z^!YNLiVheNp+R3b#S6YT{GegfndueO;N(61)V_^Y?0o+P9i3R5o5hH%sw%+&OxTFr z?rvLs3!p0ULEGDGVPRpDD5Qm6`>9V26$(K6AwF4KiNIS&M+dM|pEhf%=*~YOs2;r_ zv&Fa?92Zz5T zA)vs1w6HZM@ueTqnJ+)#HkXm(Q3(1rKu<#y;cX=L-RWh6n4oferq9ZhwG@s2W=!>3 zU|r#d%#cdDwzdOMBg0?aBw8~2Z*c3pc^KP(ZDjbKW1l}V|RsH)Q>KE^Rity#6S&9 zhD9W=`mt?9xiyE>#$DH$(`O3hT3UF&0&d;GJ4gCCjKkUW_)$m@@EVjFbahuxQ7C5qM^3FW_l zxg7WO`vILV9HaEyQLsu)iV5r$UW_5qavXSwKBLr zmqW$G#fh7p?D%T^y*_L)5KaeQCy9Lh0IDNC63PGVZAt&T5E}Qvl@$*FS9W!}C!C{I zE*LL>U**6tumBnax@{05{=~Nwex^n~@{y43S0~H9w_e3(E5F|1V|dz0cU_>?2(%p% zyX{AkdRw*~T%E9478etfP?a&Y`o_9(S=#OB`o)j=8a?>IuKPI4e3a(#V~LS-hxJky zum6v&w+yRt3%j-@Bt%M5LP}Z$1f;vWMLI>g1*8#>?(R+r>1H7v(nv^mcgKQvuD$nj zyw4YZ_`SGiU2|MxoD+P7+=ht8AK>aRdYAeHiU5ZL4}2Kl%{Iv*`P9HC!K8>0nOxHO zvhg{ow&hR4e4flwfllu)$SLCEfI7`{&>!rpjZExS%=QZus8X5*hjz}E4{)4{bZ^lW|Bwa8SK=N2bTx{1JS!plZN;32!4DC?8~&jyu8-mjf)dx_wD0e zQsA(>{Br>_lD$J*d8#fhDU!z@xqbk>}Pwt6G z6;mFIJ|Di#SF7Gkf5l=cr_B6MF(y9F_<3LOeC!=Rl+n}FY8Ds_F0%tNCS@E$^+YL=Dw-2#Oe1V};37$2do0ga`73ZX{KT{_ zi|o@4_N(@O6y2M$r52ECNlDqo=3M{$J4unvl*x{PQe*M*3U75elsRIo$7L~}8FHU8 ztS?ot9AyBr3#ue#wY9n{In~&&dqCi*%$C{^)IiwnZ-WPc7!^p7KvXm;(a$68EEN;~jS1G3nPuT(-LS3_mzVfLrx;U5R>;WaRK< zfxKg2HqKDf#_uP?4_^ihR+I5hFfYfd+=Z*EE{`nN{2qhMeZ0D-t^b*sp+O}slhn2&=Gd+(_rwke5cEjU_Z zTd;wnuj^M*CC<+F81wcBo459py@5_=WmIOJhHv;xdY|ff$OatjH?&&Pxt96h*YuLa zQr{mnPy~*SVx69y<))?S?AUr>wVJIs?U3sqRasm}xSixr!y0Wob_Trh!OYe!QZ!kx zqwl@d49y?lCW_Oe0dJj1J?iE=Q2(tlZ*J-)%Ha%E_kJ#Kw;e-FO{ z0UqU~%^}ZNN=mEV$oG36fWi4G@~pSA{c6KTnS{0_Yb+Bcd#U2yH1m{k$XSeZ ziPxhg;lHKk=RJMeWG9de0)wH>R{B(Bl7k)09$Ix@!^X$Q^H~d8ZeJ{X-LigRZ?`>4 z%YN9cLEXGgKpaXi{FA#zv)=hgOVMTN(?EW9jZT|GJQ0VD?2h?McH2YZ$x6Qq#*g`) zx#?Tv2F%=5&E@|%zo?u*#keMgpg)_b=yk#5b_7Mh-$h$(N3rZ7%m@LWTrr+xvy2|z z8+w7cpjTb2p1IKcrGUaO)7cUn)VZ}y(4k>?!J#lv+u$z6q`%yWlL~xE5Swo&po+`70!fG_A!f+Q|3ij&l-xl?Q25M#JZNfX_%hz?_`+Gtj% z>G8qc+PMq)*aY0n`dN}a7V+NbuY%~`C z0`mC4UTZ!r&(lXhL9t%G7C@k%|HpDM`xI|rEby*g*(C4N+rmumn{=)E9g+JS(`J--y;_NsB*u{gA&vCGN3)|06xSC(zZ_`9xJdz5LF^ljpO56A ziQTryWqGn|X)8_fEI1^n&xsWd=m(R>jm)r9Au&I)c1dV?zR{$_O_GXH43u0b=)^qj zH1_Q)TGwQPWiILf(^@b($|7&GYX5DOl41P9F5UM1XOQm}6U(D9R8}9ugGf zu;W|L8HIHJLL4I-@y@OweJZn40Dj%CAnR!m!qY5ztJUpMy>+3-)+>R$!aK}F2^U=2 zjJ-0QR^gE7k;bn!&1DQ1UiYkSHLC7SJDVvg?(WQ7*ECdH@iSGQ2%xufN8`eEtwujE zF)XW%xAgv2eW8V(o*l)dBuJcmS}k5|{Zix&5jclDs%r#gteL_xU+6@&(HK*`kbAz1 zqiO9#dokXjfq?>^FR9Yk!ShM_5U(G&1$1xUCq#H&WDoJ7{Fh)F^Ba1VrOvn&tRP;b z=l8vArvfrO?l^*;z0!#^W5os_>{|6+Y_(RiVF^sh*6O{boe=10?F1hNWvtP=0M@v^ zkPXM;ua1^gB6(z!Cp!N+T2D97z%vMsGHoU#^#ctJFqulKC%dXbVgql z!VDWLbb%Ga&FjH`=)}lxR;f#L%6!%LhSPb+gFYkweT{KFD)8pF^SpMzMAV-!TQcBn zF?XP1;^znRDAAGSjb+v22U7=1%JBxo@I;ljDkf@iV&x4bfS{~mU=U@RofoEu%zH39 zt63$=_e)@1_Sq!`85=bdkOhS0HHlk;5d;i8z0MIqGUX~9RYF`+CflK*#%4iBW_+-F zD%)E^0{>$BPo_c|7yX}=&?ooWeM|0}9hJ9GC^Y{ujde}k;&0wc_{hWc88Z=340*on zO77T_yrpA*qxOumGvLn6b6~K`5VQ8}e=$huM#MG&=h6H`LRV||D=#5v=1ckw)a%1_ zS#hlsCf+9i_->wH@W#pivU*47c; z*SU(t8WnKk*M)6RG0Y(#uti=eYtgOzVbu00J=x^K!AkJjB(yc%^TRcH^ zU_ROR>qCDu8ylNbYx0qmG@n3V*vXZKx8G~fdiWa#yF(q&33$AJr#8AFOAqSXTunmS z&+jTP8o?4NwRDJ;?i5%zN81;LUL}!q36t~*%j)Wa0dQ=1nX$3#tEl`4=b7hsUNhHO<~-+eh0ei;Ro z#+kM7-=N>8teeLhy@w~P>lb7|al*&Z^e7PgTEOKHe#pxmyG$D*PKjA(rKNDS;1bEh zB3pAfet~+sUu`^jQ5nGwEz{sQ(3bve+$$fWXTxrz24D-08T0j;XD}nTcP^{(_p#Am z&^!tPW<7B>Q|7Gb5sbJ~*8B5`3fRk|QkkBoCwj0tNT$HFdg#%DJuMU;1EilP4Fq%pMIPL-SJWS{(Rqa!o)vNscVc}sC)fL3L#=SsD{Je{u1 ziC)w3J#FHqKUmNLuYWKxfT0=wM}aqa4rCp@7Ja}8VH-s`l||$`IqAfp-|wcnRB2311fBm$%#6YH;O*>OmyNtkO^_HJ zt+29!oic9#I>I4Nvda47SyAuU*ywq9Bx=*dcpDrxs@O9aJEcx0{sJ!?1-E&!&TtsE zZNl$*6LEV+y~y;-^BOeSFucBBRUW5?7M?h>wFKzm&!=LV)M1TfUPh4GpKG2vGn_soU{>rG_U-TMa1jH+F!xiZEX$9`rNeWHJ241 zWnhGoh2;0f-iOaAHZoJMwkAIR&L`!)(sV*x72+;8+kwK=7O$7a0q`hxa*O`YYD+Dg z&6ZMn!n{6EV!SQTp>9jpFHtl1eRWaXp@^T%KDsJ&f4U(%Ztc-3?H3mIeAdurGAl8~ zODEa-T9nAn!&+cj!?91_A$`BbQTZ=zEI_bn6v-tc8lrqXgS*4}E?d%w z_c;)ckx$Rn-I+H$yA}Vo`ef#2r6`K=Z#fjpL!;gM#e-*1O=Sw{4ha7wgG2iq-D1 z$L}7_S4LP&zuVXrIzdMSF)$#44!(MbKjV*j^?-LtwtM!<$ouWmqPRBhQYM7^z?xoA z9R#0*aHS{D#9^J%oXJX4Mnnh4vmy}2`vGyB`DSk{siI@`I-TGB*XZ>b@3P^ zVnN1FRJ+n7?ABA!UN;vmMBGN?;UuhmhlmG5D?chCCa5AWqyO4R`1n^PRQ$LW7fElz zl*vqNIcNiimYeA)T` z;8@|umlq}pA`j+igH_V{@qAO(zE75#f?(mg_^Gm#30YCL&9xSjxGD&lKZ9p*3~wgTvBrQ*%=E5EMSOp=!cpy_7;bf0P={Ok4Q=R#1I#nz zqXEf%bz&*}8F}mScwH2Fi>@WJ;ziT;E+NBh9QU$MC*iHOY=xYM=KzVu(*$(tYHxdWTT4{Q2v3IoW?yAA*-Ci}k5?ALRPxl4+|iDKnyY!J+k zKV`GaK++Bn+;Y>Yv(**%-$TXP!FkcM+KVASTN%OUyvh&U>LFJW;JvDIM1U#cw zF|T{aOOij$ka%_yh()npYe{J~ZOgm(1SWk+SjA4}ZSqyfup)Q0;?0M$G)c_&Y^`p> zU?KfGJpH71m|LKEMt15npll86=IoT;Mb;OLFMaAdLmvb zkn+^Tcu6`RdPM4F^28?TY)@Snx>^1;2`wM$g7aSL>G`rORwUqIkUsdoI^tKl)#ZnFZsES59KoD>IDAFKWAz3!V8@vSJ*n9_6!two z%d09NYFCi>^9WN%innVzm{1Y?lWGcTGkl~ta>;&O0Nl!E$)`M*ms@EhU-#-T)jCWnu?H?=@8*Js4@Q3eY`wny(Ta~72sz|6mEoW zj8311ghXTmnN8i3+v0cN2#KK5NDFFr@8_?0>svp1B$>!zuCy1F5=1Nl4_*%`!^!EF z9hTF$SLR;kN(ENmwxW@KVm9xh-LVL(jsqF72-<^Vsn54QaQh{6$JdA(z5)5nw=H+{ zeS{u~9U%n8o{12^lKTJRoP@yT*fTAj4<|MH z7#SOFUrz_paeah_igBp22SyP6hfy-u=#*@c(ylwqn<`74h!JPAo?5E8(Iw*E{S*=w zk~Oj9eORMd#+dZQ@4{djV~!%6B)rjZ&DqWC+?C!NX=@CNUJ!cD$bTJ0uY4sb>5R4| zfwe>YWu6Sqg#vhR?MfMsE3ED`9GE~K8T7t)!_saeF1OfBhYHKIL7n^y=ZhyXXl=AH zd6%{k!dHGeeC=!yl4vSVmen7tXNL-FR(lW+XCGyLtTuVK7 z`!2+QiU_e$B1(|NE9xd1{CYZA{|aDbxjeyrrLM^BgI(H%~tO=QU>S5|M$#9TW>E9<$L8cxS!0|4RM~_m6Ir|f zuah0JdTVW!c3(g_DB@+(_fpkp#el{ga5r6BTZZt`M9gfYIlMg8;>B5w}FS=S>fm7 zR`W9}?5?A#63;DNp3|r#Deas~@w&NR?kQ}Yg1Z8{$u=RFdwItC9(2^$Z#Azu`tFX% z@|>-;$2*?da__5JLbuju!inku*Wh^ypE(KtSbg9GM|>%Z!=!AD`58t({?dYJY8u0A zkDScO-uFyJ?;T~xU=^GQ0wdzQFKD1|=&-Kn&t6ufQC;Z+*V<3P#9U^FJ)XJDk(5@S z_qMZ!V@!G^ec~@KJW*jo_u9Jj4+Z>*G)J(l6h3n}F=rlqMVkqoeLJc!cfT#Tw61m< zoDp3Y90Z_k(Y>cp&=~h2-M+u~px23F#!FBaGRPY3$&f~9%g);f#jI_pp2$dWiB?wtfC24Lft(HRo50KL`M?=jf{`2m(&&$9^tf6uxA@b8i?r2s(y2z%R`aF>3H_Bk zuggK~>S4t{Y!qvpj{DXM4Z>E=Mc35L-`bP`9hz-U7#tRABb!8oKW1jkEGBxs9>Qso z3;v^^txyMQYlRx0+$T%Z%P zuBRff&x`(&C&Br^D{@sfF()!&zmmM~-McEY-x#YL7ee`IL@Uc zDgGuGhY(Z^1J6&bW%`e=K;r#b_WPoBew2n7*zj_@t(Su+{x{Gm^L|^xD6<v#g zKgOF{hl8g}dwQ1m9nL-r(YodY4_4uYXoJDNkUIE87 z)!O)z>I;Cabk##TJ0`&;B>NqNJt&mpJ3ChR(UBU~D;3{Q04>NYMr1d>4&o6hZ9Svk z*bTmwIPJLBi<4Zg)aBUou)5S?+EQbH%1RV;fMTq!@2;maBe~;aQ=WNfr`d-0cK3_} zSw1I%R7)Cp=Kh&s=XWOdPrGmE<>Fcio;q$Z=NGGfmQ{6i-hM(f3c(cb6_ZAF)F|@` zG#%2C3MVrYB74Oi;0i{YC3`eyBlr9c5YxN5RrTD1wQ4PBTCuMGW31Fz-`VWAr`T>J zzQ$0*DLY zKO@OFZIwrj_E~8t#U;dZOaNb0Jc64rS%cb8Tv7OD#O^%*T3TYQ=XoJ*=05!f z_VxDKh*?((1oAyqUm zk|e%Ir_SU((7Apa-HV5Q7+;?*kZr`waLqyfax@ieQ|1ur&%Jk)z|?GZ8}?P@)CR+` z=F`Np?0XbGFX;Dzyx(j3UKzJndk0PnMa#M_8hSrWu#u=H6ZD#>7Nq)>p&mmLd>6!CyN;(6KyTsF#HI5Nac z!7EId9pQFU;L%Kv%UhvIx_kruDrWm6TS-`00C3mPNVD8SA5Qk332bAb#&+ew1-=LY z5jm@yFn7?vGvYUdf*6wuKdr#J0ZAC$PfRMMDbwdJ^_VV{7#4qQjGpq4Nja{Fo=1@n z=DB;YE$S&dtZ9XJ-2^NGlFN%N3Kr{@dpa7Pl=1Ni+jTTp>6pT~C7-$!@3Gcm-E4Ed zXX`zmghXcZ`9XI1YHvDKkB~RbrdUP$w&k^byZ7DB))MI9c#Xrc5eV>MVqhd-Slv7- zW?aLU=|X}P(r?FrYxLGb+k5l(Q&~PMmephgSbj|pD zeW42U_RE)Kzs8CG?(-tgPR@HKQALblT{b3dn*p+RNb#Hc{e6-h$PYlCOI_5Y!4@43 z(Sbhh{#ZNz-M(eBjR7HK#Xc>FikCAuCgKtN`^&=2>uIIIuV*RT?!UqlOZcvigIMTm zq8lfFxL`8ru;{wglB;l?;|DGq-FTkdAgkCQ;x38&)5COlKa>A3)z{3Xs;#^{p09DAM$@18& z`N+sf?0Sj1A##E=LcTxNNM@#;gxKE**|+Z$7e`NjNei`m4<|_R=6^9DlZj?)OQ)R) z8IQh>Xd$!IgAX$I6Z2S_-|x9P5#v+nKX%%VpG1Eq3ythrtfM zd@ZHopRWw>WZ@?%Fr6wDSF!P3M+2z}9QoS4d2wilTiW$#{NVp!VL)*_T)Dk9q%U!| zBq+5ttRK~f=EcNiA|+Vzq4wRyKUf&0({8x>4Zp|#4Tg!&uR%5-GLCxXYrJ@?LK{ok$*4{{II4a#_?RPu$U$!fcC z3XJM5#S72;B+NK5jNjaa!pD*w~ZO9&INJK0k63Yzsm}r^58JtlfF&C|K6I+f zJFN`bMes_#09pXSqw=YP70HQLWkpcd25sih$KzldKnu9v2@tMgn!lLkdj@7`q>{_zUVmpLg z-+2hHe{VP9sKedG?Thd#bo1-uiI-{{ql7s>u=2accz;5}hE6Do0kd%pz? znjbXD17j90#_c5o>>rNjswCtKphCjO#4foo14j zgP_9&vgr&!DcWsIGwcgo^{}&=T&b+SAv|g9r$507*&4ZKc^Q|Kls7v$vt#;_(K9+n z+>9bu8UYFOGCTR%&fn<5Sr91G{qxJ12U7c&Uj@U5peG_r*e|1o*H$5Cu0)=Iq2+^= zzSoIw+;gICR(O36`!Kh2B68}zjI&EMxAm1eK!%0)PUn`5bUFktBNCX;L_M&(ohun^ zbpCgAKBqooe=K=j0;|Ew3-gOBBVmW~ZY{Ae$u>Rt`GGo28)dLJVzt03(!8U%J-A}S z*PZ{Ofu17hlJd3-j*KNRFz`om)nvljN7GNAEZmwG7V})+v{hn^x4##8Gch^I2=jLZ znP6cH#3H5jae+ikUegedMeKg#H-H78!>`Xq-{3hoGywkb=jzz?q^19Xbfl&20@3#r zBc04-Io01V2TZLTEkH&xa)D%#{YiFO#X^fH+7IKQP}NjlIX-9?2aS?;>S zQoDBHZ4Glp_c2-8k%c?^OItQ_;b+rg;u0!aZcTAnak3^Rh~cDXrA|LXDKULv&XG-K z9pP%zmhVYW=PdWN@OpZ_ch4!(*NYRTr~aWwZ@es7D}IPi*fx5k_)c@V6=7dhFQ{MT zgjc5XbX7=hPzenM3*5!_^$thD=YvLpu-~iV?yVO9qX!6GAEI+ z@UN8LbE>!s!%UveGUYmLV!)jiE46BZ{k+E2ocvuxF0k4jTPst+%!pdWFDDjbVSy}G zo>kP`|1Z=B83{?rO6Ls>fJVe=Bb46k6!&5(=LsBe0-j3<{lisW9G@ug2FS%4;dUo` z5LDkXGx9!6WB&>Mi#iWb=SA^1xMDngdNV#qm>WU@_9+SJZZ{Hc2M0-zuU+O@_|^BXncaX476s>q%z-dO zVYb8idc;FKejgBozEfUq4ND_P-kog>PLEgNSpuoFm>9%zTey5Mp1`reqo+FM;4FE3 zhLgIOv&sJ?yJaCkV&?lEq>Y;-isJgSLS3BWAe75&yqLPX6D07%vMM67T>iCFDt-6S>+-Fd{a6PqUr$3W?~aik zWtc=j0GuKS+UPjmKKtNtGjLI3HERL#w+w+G^4A6D^aLdd+ibiA&GXB?HkuHCJ&G_U zjyMvpk~1;IcXV{1qmr&!02I||?Eqd@V8WSvW+(x(l95r2>1zz$-^s}@adB{d^u`6; zu5*KAkhI&T`P0i4fftUSVINJv?OXCcL+sP;jncpfb02utOr}E_Ip|>D>(xKsD;jze zqP}OoqXK@E7VJlHV`L!+EhE8W*6mAVdfU&#M>E7Tj_s8 zBfDI2z@AU?X`TZc^3@pLZ^VBizVk2w`-T9~?%_kcN*;g(!V-_YT>X`i>OVL~SE+xz z;Sq~KVC5HMS`q_45f<;SMMu=CJCM#Kfex(3%EU8_H*tjODv%sAogW{goPvD0u5-Dw z%)58v)Ze;-Y8l{E9c1376#`r?`ylJD)G7d`DOS|LbN(9~q9cJ{tjW1AithHe?g9}u ztYyE)i2rqIoB8=Pw}Ri6AFflo-Hmh4NWBM~eMqke~>P-393%-E^xu`BiFAp`!AY! zOSP;3bACcMn0USw0*2fky&fi5y+wxJhlEtrmzAaqG(bS%2GaCyAd!%e$P;FaEEJ(- zeMBB-w-^kP`!4v%|FCBv!3Yr(itB~jmmbQ>(N1U!MN$0I<+`z(J0YnLEgvE>iSY2O zxjLIBQ8#d0;2Zx0Lvf(F=Xw+DwB4cqoDq4ukvA9^wTa;+f7XAF(F-V`>3KCM@+Y^yYiGw)tTT zHNGD?chx&x@&6kh#uduCTN5?gDu?28tgWq?_g>ak0TlJ$P>_@YhHhVFUF~isMrlnt z>RPrf7CBG=(XoP!5gGZ%fkNWtew+@McSJ`A6&)+9bSx`Cko5f?EftKGt~~3nH<^b6 zSj3<%sb{K4u%NaL6Be=qwy5X7nuO(}$s;9vQfWN3NPJVfB``5Df$nL(tUxS16PQHwOW?c}6&W1W znEwkq@K1(ZP642(E-FG~;qEY5)8A;K-8q6LP$osuLZ@ zn9oRM>%!Y{6eIKGwVky+2>*qu6GI==RLZjZ{349kju$WCRH>@#y4eVSt%w zY8e<^H7`tNM|p-(ke7FwvW~b+tN>zDDbyeEmETSE!vI70n{Mg;o=U&u^su=nRbDEG$xhoFK07iKpESYOR1pBY{M9~ zu2_AI8!xd5xlBmP^qT+Vh=`eR9W2!kQNS7tUS6-nB_ta8TlNW$e>MGh20>DCEIKk< z^vH#P7`cdOCoc1d9MLs0qEe#+9((c+e3S3I<@oj1GxIG5taKVu1YPd(~<_QjMu~V@MOq=$w+W1(`gt!jFsdarpfrX4LEQ}tr zpYy{?-h$o-kF(7K_C0G1brU!1_NUAkaXZZaE8F!1UNplq_(SPm6Xn>>9g-Qy0zer{ zkN7<$Kb~O#U^0~?I*#@5S^AT+t3)ZktSs_BuE%A>G!`|kwd6c6r}{wvL{yY=HkEi^ zRL$ac%FpvYka^GKPf7hY8kd_3BO-%ZDaFv|omI`rl0SYn9Gtcpa#|KV7hfGvNO_&V znGSh`!$cvFelfEqc>7v)t$>v7HJAT~(j-xU?9MMDV?TZMZ&v(}!tq)o0cIUI%uYOf zhvrfjna+DP_T0-}sT9=F1Vg|0=CQ%%d`O4)yPq0`kJka7Nw@8n(SB5v0gtOep*-+) zmQ)bn@4hJ1w|sI~X-?9bWVl$B0n-wFwcXYClc}jP&^>m#f@3Fh#8tJp zym_7?|Dat9*AIU9|8uh6VuoPPaXIkHENH!` z>ju}8z6t%wOD5PoC84EK3mGMhh(8(st)8*6-`YGGcg-MB0YweHJ`{DAIiZMi!-E&Q zgbkA4p@#4_uEb#}8>w)sXGi>w9i>UJy-ITjVLh4j=wfZp?vznjNQ1$BZbw{cOvDn zckzplq`K2VqS81qy_&c=zJOBYSo1lhd~}4+wl29^z8}iB^F{X~DO(2epd7j^qujhJ zL=osC+n&+;=2Z8i!&dDPzQ~cQXkJItO@7B1wzJ_h;}Ot^6(J$vc6*WDe2&*-HdjY2 zkbWDSr&m)l+S*GF9?n3tZPR>3Jk1QJ+tF9Nzu=ByIc41upIJ_E=0%g?Sw{!Z$e|h7 z=__l-U$2F^&qBjPdrv>@*)1<)&$oOb_Vx93%~nILv7UPd(5}(XkBYuShm-3OCki}$ z;a3c~>UyV`H}bWB4t|=4h@YM5qLsd zD~Y}` zsjpAAhwm>@M(|e0S3FcBIbI>KN-c?NR0>YB3xkM{2y|&*SoX~g5-;iUnG%ef|Je;E z&W;%_)x6%un6PY!a#ScNA1><<~C3t0RVIn;WY_x}gq- z^H0yWxe@J8P(}C*C6N`cjs&qD%T=3sHiw{-dC+2Oh+9>@R(!}uh*u^4#HVBhA0bdO z-f2W+3td+HzSFpz#F`7_AA78@{alIpOr72O)(T-XiOVjGqbt`=4x~Qpn{_( z)Ny+;_tR^^NbQH#*gIeRx{%;-(Tf!MsFaxRPtOEJV|y+f;>5Zpz|)!HQjoFS?^(uy zSKWJvP2GY9$5LVo!T8zT&IccJ-HN(XALm6{zaLR>YZA0sopz1Usct?sbnK1H{1v2( zBg~CLS9!J?z=pn=9RTg2eVqeB4^q+!-7Sq1qowAeXtnJ_X)oc536O{RI5h})?=-mY zG|ID#GyFDCxMDr`7ag%C1k$^^d^dJC6KuXe!9lhuu*)d_irC|I`qK3GyS5E+W{eII zKdj8Cj$`g8@D^Oux5r{)MC+KS;=m-#z?M7rw$3BiL68mS1USwo%+)^_&KQX zR%Dv*YfblIpOt81lZm&|vDfQ&Iw$&#pI`V?XB>Ssi|wy>!YFzV54hjH!EXK6m{a8PK_37L;m-)M=%#>ZXab` zo)jZo4|O?Mj4YdTUYp+IjEYMO8~v$d??X1$it}&fz}6_CR&i`CGh_p7Q<^UbWt zl<&k--p-g_Dy2S-bu`Y<6IV*gSO|~y_V>9QUqxZc`lIT&JKUo2Ln?!&P_LIAmtC5 zQndsg({BmYWbn+6|JbM@ncxtPaO?@@F;2Ea5xbd^lQ^FeC zX)U(23&Rk;W#1#_bS%fL*Zt?uekH7gTpkIA1!ee&XZU2k^`=h7YScK&o~gddLg^P3 z^D7qdm&7 zhQ3UNjPK}J;DkdWcO)40ebV|qO9Od!Fq+wAxzQ*9i!{|_Iyg#IiXzqefR7jYnF2naL-D@wRR2lg8VyXPFt|P64GDUc-X-kqpz^Hl zXg>5M+h!=i6E!((WY0VF-eKLlm93*t`q-W<``o6Sx7Kulk%W=JD}R2lfF2!<5cab$ z=^UM?HFB>0a5;cL#^`rac9GVN^$Gm`#5FNf zIIR~0D9FO=%o}q0u-Cc=!*|sgjTU%z*4t`#TSE7yy?c*Wpkoz^F1|yn-9K0yFX5lR z8b!m#PPaSwYg+_Wa6CEqy#sYEpJ6L8yoOY%cl{;gFk*4L*fmmlyTRqUR>reB7rfT2 zT-9|}byq*>bq7;eEr2bMX@~6kEVQKMI_tCEttzxf?(wosB>RQ{-GVDO~;{yN^Z@x)lE z7mLVU zP$)hg>Amt@qXdV@+U|ErQ)5I^&r00f9-;@hYzlA*drF?=|)zAx-G|WP*sMyg!x412WjN67d6`;n&^yHpf(cF8kr~ zx3d$ieQ|za_6ngp1w!7nQ>r6)BNg96w5o zn(Od$sO?$!9MT%b6zidpB!A!9T&6N?_SoH?YkG_-xJ*C;j}(IwpJ}4C(z$N@u~?OK z^2@Lp-;;Hcd$U-sL~wrh8FcK5R5q+*J@wl>#9v?MpRR38NUZzS-i`*+yIn6+cr`c; zkjD)pTQ{$rCs)5m(>T|s`Z@iN(R8bX+lg^ z61};o+f?}(Eau<>q;u?~)hyI1!YD-Da@G1@NR9NhR~ml?&?J%d;SFENLmT~Wl1!A9 zg7?&nt(+Cf07OqUXtC9jbO2H?IQFZXAFIKB&Gxclztm#Un~*^$*gL;=*Yz=*qhtJ3 zw_5;%Ou$#MN0B3m1qXTjc8lmR6qHDZKio6EzDL{~)(>8xq9tCbav7m%Q99LZ#zI~v z@9yoTU}yimI@5-VdO|6k!`8}9POa2{?Pk7wWa|;Cdbs)r=&6od!oNfU(iy~5r?_J# zyl8jpq@G#J7cn$8Y^X(cd{S<)4av1W>bU%MDQu}!?8(JrZ+CUb51uu^$KB1-o%@jV z{=(QjHKiMBDNQn2`sX?1!5P61`J!W4xOFIEY@QIjcFxOgJ1bq&?7Bku%s=pDUlsvs z1w>Q({>`2BRjWH@_U9vtZzx$U@VFU$YK<<;IMlLxBDlq##u+BNowytp=NR}*N#-p6 zz=UYr)rSg3N9=|xXgfvlNR{0>$9*GOb!?09Bg-QjySa{{nr@pBDR|5`G+Xp`we#(P zP?yw6%tkjS)2T-o)U{-LLM?k5z1mbxEZC+N`YiF+f2?0w*w8A-JOmiUqA*ajnh_OHWf<-w@49#o?3hG z=)}JA`1I1ZqN1XEVO!dd@9SB%Qg#QvvDwKJH47<)y93^OEPNuHtCr`<$yY+J!*ZjL zVCPZ7OdzOB&fOsznb}!l)f)qCVP)DMI(mECn8QkM)C;KXk5>orq7o7!W~*s(KZVkm z2AbPEcPi4aRN=Rm^_r)R-oDL#yC2>5Mz;<>Gc1(`Wh;~*B1HT6w#v2NA}rH@kXYkc zVf^4$jzapb${$?M=|K8tDCdC?2t;@eIr&Pse%gE<*Ft)4X|6lN8?VMIxSgC*v?Pv6 z0}oflyyr8{$%A{7lK3o|XQ7*#vz2xL=h9>}ibcX2Eu^C-eD3%x-qQ8_npFnZ8>38% z1AD!c*PrBNv6n(HOP!HDUrO<_yQi(1~KoyzWqS))9D83IiZzDwd2-h zE!~+4YU&GQw?h8c?7vG88)R1VUi4>~?t6z|K3iA0SNYcQZeuWUq@;3N8sXWHT9$!u zAWE@u|LSYWn_+N=gNOYAS;l5$yu}!m;=Ftd8;cqwrdmu%Y7Dxm2T9RhpBHl~ z^Y^5@Q{-7UMVtxOx5D20d@R|D8Ppw;;w#kM`>WY>H}rG ztSCLHsQLM7(fjy8C-lpg{cHNLmzIR)-+~dCqD+&^zky{?o+F(R_y+~JYhHRHhrN%f z_T00GV^SS3?SkVz7#njD`$+V+)I!&+IyE{2gG^t)nl&dr!gup{dquQ+B|503?;u*+ zzPWU5A{J>;pe@Ve$>ypaV|r}a-k$9(;?t*o57nQuNnXZj{8E+zHTWP-TD9ks2q_Y* zeqN6*E+7Puj__$CYQKLYI`%naW@5kWkk_&gPZfFk76FY0hPV?Vgl1fDC`6)L! zp_1@cO<0t^!Op@|RjXVjo~i10THOFe-pbi5n)QovDKZ|5nV(+UOPnGOG6=}w9U#d# zmL*L3M)SO}|2DOLziXMoco~#{KQxAA2Gp9rd0CJ0%v29LNm1>p%HOp*A8<~3NhTKE zP4>6aJ$SIz7IvSK5W=~?_;=DLBOM9KJ$^H|vtzpB^16R65t(k5WkrKQave#9Idllh zD+3q2<0m9feg9b2XKO5BOLWdQnN#c0Uws33Z+9+gCpx*Wh;%lsL;;&Zh(4K_hBJut zv$!s3Pgy=8}$sVHMpB9OTlU~GBWIR32>PbKY2yVXLJ|g6<5a5T?|GT)SwI5MNjsa*Gj!d$2j25yH7RN*({FDlab& zTx~{72q5lHUG7D7xjo`{HDUnO+&`T-!6n zoUjV##ay{=_2@o37$iDe?10xL+VwOKSEr#|PU~DTswyXPV;yFbKg;`A4H>!=r`G!l zHVddX-DW{`Ohtv9?Q(=E@BH;-^~!9j#ZSHi4?9}KUnX=j{G{8ebL+7Hsortg3%rI# z@&M=6V0TF8;prJxGG-aY4B`9U6TWM>@@>SyU;W@hvA^=i2U|q9F;>HS6sMi}DU(Nw z*$TaejJTX>^y!KWm%l8bbwA-W_B-{u;En`cAB8VX%DnRvgP{BDqW$}(_t1Fm| zkmGwWg0-^gPPsp9&E&~vgsP*IE;Zl)&N*95rTLme-2Y+hEyKFrzO`Rz1nHFSP6g>M z=@z6xk#3M~Y3Y#e?ruc7M7ldAq`S}jt>r%ZzxVT;>pJU&>&?2B^E-bt#vJ2w-@|*0 zdKk0=NJn6VB4=lZ0@=ahfYU6V+`N1($65KTaDIL{+Qhimv;t=6_}E`pSMTkU`^$5v zHe)TbJ~8ZdRVayC=52=6d79WLHqih(QQ|<3%vAX4z#|nujD;Zn+SFk|q7d%PkJaE2 z+vf`-)qQYrVS$%r&;fnwGxAQB^ftgtC;w;I_301Xu+4s}T8k^MucS{e>ut2dje0@} zI8(S?X>dX6&MyFIwX=y*awUbsDhLu%=gHU@o%L=>uC(9o@$)+EGIzo$4=6y`bCfO$ zA&ixuJ?;8c_5!_Mr-+SMb@`Dm_V;6mRd03+N(xt$@Zf)sJJVtZ1ptWw{^uhevVXYq zQA-vi-e<}w-MbpzJnDs5^l;&YH;P4hOi8MW`Ov-g|RHb6NbBXHRrkHc)XMkfowmJmqL8;LWS9o zV%YZ-ONrl08&AM2N{CABLg!grq0)YCj9Y8JS!C#VK+)+5`*%+>MxEVCdKMO35nqva z0pThZt(K(IKSBF-g6oip}}EgRlNWF z;MY^V$&tIT?r4$P%Wpo3&S9ZNy1cBHsewrN#ECUOaIAh zL-A*N+uPRl%o)dXK4v~U+nZAy4$DQ!ei95Gbkfgew7skiN-D{cVrUPzZ_lm#L<+hO<{D?DJGb07O)MSUd za2{@EgbG#avUYBNd>^LMzN8*-E!Ay+i>B;FCJx6JL?`u{RoKMfcDf~eLBN4@UY+wd z!JEsJx1Z6wP_1qf$88=hREhCq`~0OWvCO)g2r}4q#{dtlNI*(DR zh>09ge^F`WHcR`2 z2S?UgN4ut(E=Z&uDms%NR&8hcvw`q4aEf*_+cAU_wE4R_2y#k)9}hp13}0AnSb1{c zeGzJ$k&w*txYXt@_4O-J@Nd~Tyr*9vwjC+geFCYa&v*zw)lRo2sBH_xbZ?)qdc(Wt zFH(S}s2v{zLCyPDEA{pL863sHD`GtaICu(YYu#DFTP}>}BZ8_RzE_iM`CJy>xr;6` zR&br2MuR`7&>5~L&gI=`kt*XPsFa1!ps+aD3y9M1208rt1q zjy>-}Mb!;n*+17|KFjurD7eeX)g~fSAF0=%2i}~zY7yxtqLT6R+YcbMi=PFDg<<9T za`KRrrU`}fu(OkNbdV>LunZ8>E(Gc1%FTSZV+#)h=f&;poqe6<-YUO^cIe4+K|4!d zM=Psk?1s-Ruj3B)8|!6X((g~tpNB{zJ|B)8rw+}za34Olt_kD`+|6R+1RZ=ao8Yo@ zcH&i^4YofbH9H^pAmJ>dJAgFCE6_ql4in)#&1h^SrTs{g}Q45)g@2~c`bfWNpZE$c%1WpB&9F9y>i$xznPP;=~hRIdB|GHBL z>x`F#j%6#Nwp#18L!oX9!F+=SbLUc_dSSc9pax#m70{LY_J;3o(&W zyeP(*A_$F6ohTSt_y4@qvl1EGca`|U(74!P@I$51l$*#gKmfBft4u~~%{okJ6&OxeQ?mkF!EtZf%EDmVwGpl2MUAcZ2Sva?iq zib|U&<<^<{Z(|KOL%*|RdQOWm5gbeW(kYhP-0|R$aqAfZ`H3kuf2G~+8U{8MxKEl` zS~A(YyO41(>BOrGfAzMve?>>qt~C(91^(~#eZ5HIWElmm{%}pzfY|`q7_*bLrWo-N zj>zsWuwU@#OxdN$o%ML8a^yd{xh3!2kTbm`TnM5rd|7XJ#}=6d7R9th61ArPvn6gD z5X3=4!-$LS{SFoQKo)`cr91Z{=#M7;I+fnbRQ@UiV5nWrtDdfb3hAo?Hq686ho?ce7d0~A)%Nd(xdI!; zfkZ4QoO35R1g0r@)$K4C@`x^UO0SWIMJ3_&O*oRk_tdWch+3@fD#i((P7f~h2t&3kKnN#|ATB>e;%_q?Sq@iZ@itTF3g0$do$F>(XJF%*w z4UhDT;KAediKgdI)KvO*bX?q*<6~QS_Bbs{j!zVP9uN0SN!7(xvx22Tu?LhUFF-cT zE4<0?3$K&*>fV$-JIH}Mnm*}8sJcD*muG$)231~(cm|u6&U4Nb7;2(&{dUeB?;y0J zNH0(Bu}tjQ^YLtnk_f-lSKm}cWZ=D>Q6ODfz&h~?uk_A)A-3$jBTAag*edj`J$-UH z!`tCf8>5%q!f;*qyI^Df9XUwB-R-8DSi<{K_WjCyABGnGokf?QaH`~c9)X?kfDNgD zo9P6Mv)fDCqeB5$t!S6mjBIhRJk&fd1H!QDZkSz}ZFUL@@^;_CAnUWCN5?EsHk4j+ zfHbq(l%99uYs;cdWtm`9?fX-MyGm5!dNi~9MDD2Geq!@DrU!Vsj?;fiSPR!S?IbWV z+1l-f7W{74h`&dO>lu9O_*P{c_<;}0eEku5jMK=C5kqqOLceZ)xl6kDlM~jkwi9$f z+};WobXVYoDw989BPyiDA7rB_%(klpk{$`=o~%DKaY(9(0ju#j2RydToH4LZRH0^! zV1IN&u|i7%08b(H9zHzT=~d^4vCa|Y5;r*YVE@Kh{AiEJ&hc4>+Q`Q@{#vVCpFXb$^_|jl$0U73X+ zkQr+{H4zuvhi3&h*ZR7B`BQb;-YwLFkYSrJ8n(gv36aBQ9uYhx#lK8vwS$^xYdG-o zFq|8&dn=>RJ3B^7PSH6lW$Tp6l(rI`LyIx?0i8t9<4X^+Nw$}#ZaN&x6S?q5ksKN; z3>=*BUul9rx}Q_NB;k@0W`w+>_i=IWGzO1BHi<(IEP>u&bJIE@p{E09e2&>;8ca@xVVqkH#Y+muQ-T<<<=}oU-`aL4L=Zj=_N-**EJMx zQIMDSp{w_R+x{H3T>nm&O6*rGEtj94zf!Zfomz$7^D-?itmhU@Y|vkyQD$;Nn?nkM z?+e&3E8^Dr?$FFyUA$SsqtiJ??Y+I$I+)Ey%$E89)9OmIO5 zT^#lxMOa>#x)ALd=brcVP3LDb4(lK(;m1)z2QI@%%xtP$efo`2tkvBy(;#nZb+vG)WpPRpn;eAbCN0F5sE1A4b7IM^QF9Po^f=_aw({q|KkfF z_ivSV&mG!XU_VGs+wG1UpC1UF>yssNSFVrXayel^?p-X2Gmbor#`_J{Le07)<(`)r z^5PScbvRfEj@MVmYcOFO+p>|fmGEsy!4aXN>8-Bl1OzOY{PV?1E8?@V7*I03VhT$+ zeUYmNWrr5e2HAyKU$uIAScwuS1=CXKPIlAqMV!Zw3$oz)igZwD_`k*m0eEdUuqSK( zbJ>vbA9qCM!>k7A^Sm`)3QzI>9Ujh1$I{G zBOmJ;9>S?(Pu(IGB!v8T+1%d`Rk+j`QRc8t6h!v5gs)TubB~@@a^DHlms9byWErl# znPRn4A`$Q~RX&8V&)=E$z7#zn4GHQ0y<4=Wvjf+aw$K18S?>ZTdPW%}zE>Am7yC5? zfE|^VX_fQIb`#Bpcl|F#>d`Df_advB1q3XFz12Y#{C@{NDIv`KZwAoi$DAeps)b`{yRki!TRa1WeA=Xf&v~GcYp-u>Xv+QUDsr2kMD9?=;3u zTVlPb!vo!?4DO<)8-Quf=@#S8lu2;Mvn1}QX}lR*eaO<#Upo6)Lw@|)$5z`R|Vp^1kpGf71-c~#>@A$g| z-CRuwd^UiyFW_N~~72Td!|v zn7>?OH|sQQohgnM1Ht2HdR(Hx**Ey?m0a;JU%oKt2|3pMpmerQp+3&5l9X5qtf19e1WJUkQ>WrAnpM98*};Q!H+$@?`QGP$?yYlmITU#90V&ddW45N z`qDY;B%C1UcVTIBcfC8vx-;g04*v7vb%L)TU~7fP_bo+SY{m%~H!gnZ`^xbCZ7q0> zt_8#J@<)V)iGlui+wA8xexlwxSeWbRm=sGkm-wLJ=kxVvEAOhVi=Ke9m7UKY238bP z7U#o7_~9~PUq7Pk{+|`>^=P{*M~CMB%o@sn&YJH(v!>fv0%q;&{tVty*$pxS5IR5j!#eDS+(*!r}%of)PevKDg#yXAB7nl zMHP8-a*lk`+i@Ax5~X2ka-kN2ChdW?#9&?6-09f)pZyNfwq&b2kW65%MgX9l#&;S& zg9MV<18=D3z5NAmv(u3c+iJ*0py8;G^?2+m!B-zbiXT~_i%Prv#uJF$z0|8sF*siZ zBZyzWAfA8YOt((P%Zmh3fp7S}&?*IUWQw;M8m>t;JH?GmWc8t5F1Y8gDG_c5y=lmUyN%!U+^%%_B@oQvwqe~BrQ&8$6WD7w^WW`jS z(SJ7P>sF2p8@|K8-oQg(pik~;q=H;ixmvC&31m^p$q{}dt)C_x#WxK+W{aF6x}k_m zRR_}eejf`Yd}XvC9K=`!i~(qDIUO3av^@6~25Cb~+Fv&h-Ap(Fcgq|R^tqH7_c`dY zdq=r|04a)>N|8MO_W}i)Av$WXMeI|7kS~5?M^p&29<6UIBxkPgV!u5{c1BQ+i2E1j zS~NE|7!h})pNmVq*y(MyJY84W+_Q#u*pS|xp z*|*^uZIZR2K`n)gUuZ#r%wKr1Yqkm^Iu;4`yWYb2(a2lM?0p295SUOtMTue9p8VdV zD0DRN4=BgT%8S(_TzGGuSECeo~T1G zkz1*p%en(m(@z-CZbSlZm?(tbKS(koJV)IECGuQaMP1c4IUgkuQr`=j7_0L-mOn@ux zXp{E$fC=6C=uB$%jI}U7prvZ&hFMYMfWZ{nQTwF`8DUIcbvCLLZ>V z0xpT&!I~t!u&+>nJn9t+IY_EMBfx8a;Cce1DEUN_{4Y=tqn;E z>Egb$KM<$5xVl;()cU{8zY+Af{$ZX9$!YBGmkgFNp(u(U(51$=Auj~Aac1g0m79}B zND>hV*}-c!9Cq9wuaL96ArTZ@c6n?vDpW5)YIZaW12Eu4Tyb@7((B*Aj{z=5<-m1e zB|Ze^VX>OQ=k4*2XWrPXC;Y`~Zpc;(_2M0Va8ypYp8^gA;2~CEE@#81v%vA3U%&y? zxzYKE9Q4e2uHn@j`13Bw<#I0Dbh41eP0|tfGSg|U{fP~D1qG0LU4!J=!12|YSkhA) znVxj5MF|yUQ2Z7 zB!MspZz%bh)b{CXJP;(vXdx>HK|L9+%U=Cy5SmWSqVqC~Anr5XN94Qfvx;`m$^1)) z4s8Tspa@L!oaZC|Gszzq5ZW7~uJc1RAv8JM(E4(lod4t9?k4cV2bs? zc?>g1G5DbCU5Un>m(Cmn3~h9vC4fPQ?AFjv!$ZpJ8UXq|D%t{mb+%~ul6S*mH#37~ z6^_Vmn!u_E_@>8iWHEStT>k-WYs@i*g#hLIc>J@3FBO2Iz8wU>IK9UY?zK{loAFD` zvI>Z4I#3ooC%^Hx+w4dE5)hb(BSQ`yB;n123yRoSd$6|8%DdPb$EpPa9t5KMM--ee@54}f;aJ|qG`WGsRrlUJ9Q&^Ido z358=*sTS`HB$%r+7(Lwfs7&3ogi#noKpw76*oT9U@ogZqH)P$MI+}TRc`~!|lxfv+ z2#*DBeNWG7@fi^i{mzV0kBGy;B4K-?oOcUa>`v8yZ1zr|x3xqVsk@t7(P*q0#^yD; znZXduYF{Mj+5pxn;0h2?e^ty6yABJhh_G4xp|3^Xim1#V9YU`YmBugxP8)AxuF05emlA$qg)%_d}M_q2`xnrhLNcGkCZXvg>%;0I$ zKU=tCud)ND*>e@u@k)b76VvfVy@*(fb+h%&q;(~)^Fs2S*)`9qUmN4~$X@Gos!T8IRsi-!XRPYLKC!?}eKX^1a_60FQjk3(0W&uX=6G_>K-| z8QO(2#{webqxiInMB%TD_0YRJPBu)~j3&j&gD}Nd^|)2-gHN7^6l%3$sKltU+Z=Lm zSj;O`qiEO)zyhf9kA71`y6#eYbx{7S;2+=SH=gt3f{!=9ap!9f%-Jw#P;18+Wt~tU z(LRd6DU+ILX1{|C8U1eiLONBwl(@9KtqDA+IV_e%Jm%{h%2a6-{!-=drWrXKN;JGB(wdpYuUeeTChoTe z|FQ?Im*zZw=Gs{L%xI~pb42sp)~kE}PpG_=2(uIOYl)gwu+Y;j!qFRx;3kLsmm#JX zdU&Yf23RL*rKD=?HU@J9 zM>NCOH;Z<4t{stPs(qQ5D)=4gxJrtRZ8$)CFh+IyoZ`L=&) z^iK}|(CDH6CylPyUErOc$nrC`$yU1dkY0p&D+xGb5lU8|)_gXXfe*-=t8*8sw_XU> zuUHXQv417nC91quHiPkBH2Op!cHsM&(e3ad<)ZPFok_m!!?a>PlVL;Wzk&_;y58VzaGcHBnSi^sPdq9hUk>b zU z1(le^#hw7R`y~lBxofZ~n|g56?u0XUYb(Fq!=CGu&1$bIE<08k(bs4AbMi|)ayIoG~bKIsvH5(Lon{3K>kJfK5R@gmU zywCS@WR*Z(li_D-+cSTJb5U_|TAh|lLi6?s9giF$lo1?v$tj+wLo*a5%x!@duHbw4 z_d`CulvP%DBpz=(q32s|t|`{MjZ1>-j2WJM_2B>V@EO>9!J;J6I3PS5l!cJ+{{#!< z|B%+@Icm;l6_!~%^=R6emMMaN%t)QV4LRkW_JU@R71c7w`LKrv5~cB6^yW+>`hFXn z>R$0)c@?#s^>ByJXP&tSUaR5@ubx+Xsn}JquTOg@*?L94n43c8NsJ^BsOQC2v$u}{ zX%j@7nE05~uh4Kvyj!v`$^O&(8WuO((*g@Y#_brXK(`aktyyUR_i03z3bnWh7WOu0 z_>OtBM#?05cKUr-LU%{r5o?aL>JsxwWFM;7m36ZR`um~(!r&tT?ePx=|E>RgHzT4C z!O9U~^0wNm>+=i3$ExcE@X`MhgQu}MyCP*1Z4E3`T0^m1Y87?j+&js;SWnWxV_`Y# zcqm{cq3cEqkS*4^VV=7C#ZtN3a&WTbEEG)D>6pl(J{VWVgo*4e=s=;>U`|uK?~RL( z@53nMMZNu>G<=0@i2A+fG+x;8oQVV6&1>WFodVBPK4+-1m7`G9gO#q_kesiZ^=1nw zCcjdAp6PU_Ge8#jGD?kY-^tQq5Uk&NB^%{6 z*}@RpWga{VgK3-uk9%X}nWTHhp-+XS@&C-NB`GiLpEjY$&`^<~>E`yj+fJZw*WR2z z41m-x^K8<~V4;omOZ*AF@2!+d033b&@hAEeV1MZRF^_3zsVT_V5Xs4Zx#Q=-^4ZIk zw&7HKQh;gJ#US=X$RamXkR_n&SV`Ke_SDR0HUXQF3iZ>k)X1b7Tz>Uu0j)(^c@%CJ ze<)DX(&|j5iC#n!(ORER_#Q=zEewB$ea#j4Z`HdwHnNRw6}cv|AoSTd-Go?e2K=eR9Uh*XHpk1Ct>&MbX>w8Oc3!8tYf!%eD#8O98Fh< z1JzLcg6=0~fOfV@j+^m|m*a$aG6}+NlJF74eEz`eox+&~?f&9QURlc8Z!>Y0JI=c; z-}FP+m+9nZgQComWbXDK!{B%{#V#wDRD)}7G!lkmw5vQd>)}hQA`=reIc&^a*1m+m z44wZdTZDn+(ZxpiWs?wFZzTopZx=}6>sGwm;b^>GP40%k+-}H3gj7UUybb&*K>~gC z`gJs|jh?z*(9Rh|S~$g#RN0zDUt(NA$UP`&=4u7F(@F=)J6my3m2R6r*}86o1wj$v z<$(~Bb#d&{#Sx*eVb|^Zd@{a<@fhyH_a!gA9uDB)(e?rW@|2QR)Wq&_ci?Qgta2sy zupaOMy!k$n`Rh@E@WJY&=1;>CVC%o6w*?_mtb%pZ>@8ts1dGV`3%7W|>jK8sadSSCi z53gJXJDyn3ISvm3-H9WFif`a7!NcGD78S$#n~&N){gqP!V%21^@rTw6;M`=p%BGNh ztF_6RIYR|uh+BpUlBx20z4+C?&H;!X<1a+t3LtujARx|7S! zhC=d+31zw_=M_vTX1~e+0|{6Bi*-WlE;u}-tA%-i@L5NPt@K&y57 z8_kYk+^0W+Rxy(RwSFeoF%l#@@r^6ieqOExcl*+#cw9`m)*j8OzJe;TKbR{I0EZul zADfYIQS(xqo?ij_y@@Zo|L(bE6@`x(9>{A(G+C z(L~;J_UaOk0igQSeRs4giet=rp0=kvS7n8>?4c?}QK(GE{(1k3Z=)ci+~_oS3_PwL z3XEc7Vu00y_0NoUxzb49x{?nk*&`CC`+v5s2P!J8a!C**=6M|O)__0jx3xhbN1j7hDnaWK z0}n6q(=duYwgQn5k^il;6LF;r%~zjL$d5vi$TWC^QK*zh54;$QJH!Ew6J8aPN`UUc(|m2L8WRmyrYju&-C+Ft6ZZo6mTV(^3_1} zbHd44{uaDHSOB?4G}|!u%6P6SKA{_GNxXn?7kOJzDz>+|>%A&<0Xq?oJ*I98n(#6x z%JF!RCBG?SwN5x%_C#0B_d=z>qoZe`?is^c( zk<#gQ1H+yu)WKXE1dvoHcagX_zj^-YSEA3A79kDh8*0!cX&SUcDQ+ASG8I;g^&E39 zmfBjJ(a(N6)*0Fxr@F=dp}?SL@WOACth!4rBur6w;?u$L)e4uy=>Y~MJj348UxJ>@ zqWsYVH$AeD*zs>N@%hPo6v}AMPo$YzPB5(#eNzlSg$Dp zzAfA!9aSEDl);*D{%Hzs@^__b<`-M9$45}D_&m%0i4;G;EK?MLq+DxOkVveiz8=kl z0`)V{)(UzCbuBC)x9ihfA(K2!2gTOI|kKp zJw1+Pnjle%uYKwLO5jH#z?(uGKe=}Me}U!o{g3`9EU!vKv8NH6On8yVxfq$iHG7ej zLsyC$FcZV@zv=kB|3$}#sGX;sA}R?&Q3M1Nz0v?}2tcQjq|m>_ap>)61+$iv`{yK7 zvpC(=I*azKOTK3DB|!2{@pA=aKesa;#<0bKO#JY-&{9;(1N{MlIC1J_??PXSp(s%@ za`NZlDfOZ(oACBqm{Xu`BpTk{@*0wVt+{kPltfgkSR%k1l(oLLmSqYzjsm0GvKTr)*JAJCLBua0khWJBq{-(aOKbD#uCl>+=e8lp zlN-s7jMlnBP$wc)YzP^TCF{uNt?&Ngoa#w0VRLS^Rzh4H2Q2J$(x3Hj`sEvGZp=Lm z8-1U%)CSh!FZ6EpC35p~4gc&!qGMzYaYnV3zHfO+DY<8TXF`k0`*|PjTz-&~K4zM#zzg+}?)FG^6>_js_CosoiM*=E>B zl%SyN_P$2~Pwbbqrjy6SKa<&)i-KXK+R6-f*MxXtn$9-uno%6>Rbu*?F^E$2I~Zzh z)a_)Mz6Hs~0s+;f?uXmu17p$%VIn1_>-qyq@nB+ypakspcIAyX*AKlJrqi|L+rw!I zIqTcEUESi(e7BT8K2JW<0}SrH>?yc z7A|u|9+Lk%|6ZWPfgKY#INnpE)c&1ijvXh|O20je<;AbOBLy-h4si^|yAeLdw^Pir(1-CS8BK4Izm&iU8Zk6tNhJiHX-r zRVtp~g_JC3D{qlwR&z;qzey$euK6*A^T;O*ue}cv6qgfQ4DTr_D#bHu!{1$5aU|lk zX=Xab>b8Ge@w}5T8d>%S>d{D5+N&h$*=m?Pw5)&CE@lB#5jq`p=(e9BJF8DK^76Ez zG)dq{s8nR6x&E+GNKsBfwB<6;5EC$T*2H!eGm?;BYnpXLfgIY2u)a$}pD@tBP`?6o z`)BehN4IZIZ$Pc1j+t2zg-%34!8cK>`35(0bEN*~sK^fKA18Nrcl%>$8zv0P#3vHU z#i%_sRc6NRsyykW7BGVSfw3Ygv$it`?MpODz8qqtDV-c}iNA1chV$J1`CcyR4RZUV zn;4Pl;anROYaC1T#z&x>Ck7%q3F5qlocJ6>JMC2Ka0CQ6!^uK&@N<7hEE2Ck2mLrh z!80@DW7D=C_Rq9-Y}JBaxVmUNGcW=ayyRq~`cyx4>)fz_;W}L$89Zco{D1 zKAxB;u>=CI(V%ONKEbv+*;{~AK4r>G1!l7j_KCRi-V zD(?ddJPHAv+njQlj08|*Xv$#6m3wPxr14&1*z3DwQNg4A2`^S>42AK!^}IhDnK`-n z1IO)g{iU!5)P^{$ONVeo0=EALK+mgX@}B_x9<%l3V{u$46Tj0yJ_&vo^%`BN36{ zRTWV|Ns@(vVLDq&sgVBaYmW9+T5_V02~zflSW9lqq2_Et7{&A-Yu4L<^dvOOGmK50 ziq5qwprXxETBAsyA4e@qb@I=JWvEA^HZ{|jS-xCD?1sv6U!R--6)se+r=|yNOJ44R zQJP!K7$N+#Z3QWScFHn{?}l4Q`(on!CnxXp-<*7$%je}(Mft$HEW+RC*?ywCJIG6+ zin8)}Pk)x%C?zFPyU(Zx!@R*Ey<-9)Vd||~!eBlz+?;OVc$@6h!9P4b-;gvqxE;O* zYvyY(OtFy3GN#Al4Rkbu4{C)!G)y#K!{Hq7LrU-$lMH&GxM9fAZJCx_a}3VhnQ$(2 zX^X<~M?fR>*_I0UsKlL`z?`g!+@$O-U?;ra`?`YV+gMjnWK>Kt!&}0KL}0l7H9Fd# z!~G_cR1=W$w%b2>FxJiHCnJrAznvl|kw7ts-$pG5^XHs`sIk&@;+4n?X&l+YKQNK=!6q}b`fLZLC>6Tprbw4s)pauVhZ-0Awo1k0sW$-Gce$X@~4uvqH|2t+U z!)##F)F#176nxF+e96}T*wlyz{p+6$CI0^8GO#P61JoJjwHu=qwUrwJ>L-%>!=Q49mZkuG)R&KJsr7`(3RpCu&v>`^UN^d2yWC|0B>Y%miC|~33dPS4+L+$YsP$?WSi7(tAunulXMRT| z=8XtXab68N@)i{}!W0!f%W(`@H+|51-MUa}7!fpu{f{>~MT4-T8j~M1jMC$U#%P-b zf?DBmV4`eNbvzi5Q4DwH5w@(?^1U(l`4;=)cP#3D!%7ImFPhJuByIej7} zZQkpn8Jk8jR%m}{3@qZi^B)3yJ8`R@XCgQyZ(MgiKLKNto_#<4@`upIS(g);T$hvI zN-du`F+xK-r%aX4yG1_F#r?dQGYQM?T(DX7f5R-!O`;w57mA02vOT>fi6t+U3->?$ z#|a&sA9y|*J#blRk%E32xIsJip?UjHztT)gL9G%9W5T^3n?iCov9IrLvTURM3UzL* zvf43wGG6n1`TyYNIsS60s8itjm<`G5RcPa9uyLO4@7-^-F^gjY~9vAozNKWiN+k@5TTSs zLD3rXIu2N40yC->ezVo!WJ^5_(P4ms)M|JO-3m5+c*#BV)Hxum1>-Gv4V z0qH_mVc_BJ3WxM@0tImp&0yq9r=x**6I1+RdiKpSAmi88;8wScd8P9)5$WZi10F{i zif95brGq2=+r2?FD*Dc^iFqHSm4fOyFTs=BX|_dX|9{i%6aP)O$K$*iRA;OHND{}^ z==Ct2`9v((Ds+3XYaN2$U@peWtW~>5*H2H)gRzK2#g)W_g)q&S49I4-+TQkc{JS}Lnb70~~`6P5%pP#SEO#FcC-*LhO*zNCIG z`%Q{R2=nCg%*%{SduUJnBLLcEEe`xcVD^uld(#tRcYLG<^p6 z%;TDA@R@x7e5O2cedLoZb@q3KC1(_$ZBSw< zkA-llo3Pk|1*rmJ(T4>U3qYr}p!OzMxufv9?GK-7Hn^p01635-*8%#0{BIU-X`Z-waE7C(J1k>c(Xm!br|FFk7^MC?_S zOFloRfwav`p1T-ePpfnZA6D!}W&I%5DBD5}8K__Ml9i1XH{-CCxZxP$Ou6l^pV?Io zNxX#qJ)+-zAHc|Fu}u{*X9M4CHu2pjGJ`9~QKi0Cr~VBVLSV5m=s$hW=nyyn+A??< zgH)n5DYin>Co51vexJlNg#*df@$V63Wm2keT?BC=FcZ{HTK ze}kWVC%r@C{&Pgnv)VIJayc5ZeBIxNZCs=P>jn@mZuE~~HF_O5N59}vOkV^ZsG_@= zJ<4rvAnCItM^(Dj2|-GIrooasChh#A&y(S8Y~I}pdQ3C`kk9E-VsjYi5J)tbig*8l4ZScb0; za^S&Bi-c6Yk|hTW?M}Cc86RV{0h4wDRQs^MM=I!it95SF6c3p(d0t&`wReejQ9C8+ zlGLe-7WTi4ESUsKqcUl!2EZQa^gz3k`~&v^A*CGA&iTM&yu+U!ZYJ_mcV@{?01+IS}h=x1rB{;iRFUyKa#&_QO1FZjp<{eTeOQ;kE20vqRg zBk^akUi9_4&*QA}=?{;a)AxeMmds@+%wh+-LPhM+s^IEka%Bg+3MzreO^B2@T+X!^y6IRxgiVzzy-`77AFrjwSW4PSejNg!E|bOl$* zcVuiXJ1$IG)ziYAVXO(g>BJ=*FZbF);U{|If%bimLdC2Hrj9Ur$Uu9jDcf8Z^>0{TZAFu)K5@gUQ8|n7d@^00P z7=jqx4V5I)7Q*@(QqmYM`>Dgr>(S|Ax;vLCr*UT%1cGP=s6NzRbrbE+?`(Mn?4Cm_?<=eep=YSv@$&Nlur0t}#UX!FpM3SSyTB5Au#gZ@m02ep;=^%N;n9l2m~`X8m&)kR@Xqv^B7^Ev}X%Jo_cPLVV-de7p)BSy`p~+etalSjL~FJa|T9g4{mwiCc&6%_3F{C zsv~98_b8EVe5A1gKNz%^n?K5!y#MMm1UV#z3S(%q;h{eWCPgIGB;W_TJ>HnunLg1> z1;bdJLMNtBMx$%31Q&ca`-6SQPerB1zUY{fuIcGcEYsK5L%~L;`PqdEsbKR!K4@ot zNsgl60U~ojB&GP2oqebohxndL-=<}kmXY1qZ23h!TFp!LuO(j5DtLHJ^i}~!aYql7y;|Z{i^EUex(^(J! zf%$+JdFMa_VUuXAPBb~C494SF*<9y!{Jlc4>Azq})oaTWDJ@FLR1@O96RvYrN{0%a zsc;&Dv}G{Va?UIEu#ebS2Z97vKK|%3qx;y{@}iy7>l-vEEL1d$v_R`$Fq?HvXJwhSFL zwM2KCMv2n6o{;wenn&6Uz3Z3RSxt<0^gx(ZZJ=?+CRBhrbr|#(m^T~rS7~y$yko#6+@~dvn)S*@&a1mMdV!NDKruxS3|{G;xaLZ)gb4MJa5STdUzkQ4_}( zZmVHUN^;+TMqPydK0nBMJ`{*IiWAHl{o+{zXy5=tb$K}G-~d9!GE(c|zavNaS8ipN zlard;+~Q4*URC-K<}9J1q^KY92MCk61#qM~B9 zm*;w6!T#s998?8VSq2@Q#nJHR<3DCb6dlHW*0(0IT9UKku?subi{r==Q77V~fP9`m zN}f%VpG}6P%*cg;00HCe_wQbzXivmFW+r!)pE%!7Cmg_li?zD0tL*O)QTtcrV|DRS zh8M^I63>7@DJRu@=WOoeagmqkqO3&CCYbhV+b}odBn-yM)|kFL1nju-B8~L;0K}h3 z4bag!`S`V{s7T#6HmD2$BzY26QNcvQqZt=YyFQ8Qo(6I5gv&Yhx7UDM=C^mv6z&iW z#Uj^6Y-1P>eijVMMlLQQbKOWhx7aKC;UA}X}U=fl7@r(C@Ukw{NpWSRVVoM_r-6PaULSy0;?|0>bUw zv2`F3l~myb(!zkK(i5v4@j)@uonJ(ytrTRKI|V4(T}pL-L_f8@KD;PvA| zPBmEF)Z(l#NVp88^H9u7p;yPpO3aJVO*g786#T9fy@zrEqR+<8W-5=Nt3#f-9TrW? zMx|B`{%l16I+3Z>Tybac*ix1w7)9Z5J29{UA_#zwlW7AdWO6m|deP(6iT-=U1tMyS zfpf!HOyXeyT!sHG8OkC8a2JZcy>Xt;0O%AP$yk`bH*!1ZK1|tQOA1-yq`GHv#$=Tq zTaxF5+|!x)4Gml@-p+EkcETfUy9VE^_e-4U&btX%*9f>P4peCI?vks&LC@ z3Eg93GB7deTsE40*9xMcxSym!G4)>u>9X}MZ<#2m3iUto1eKn%%f+*TU)g~*>*aow z`^SG{izvw-Dv-RjndMY@$74K4cI#7AFI@o`Zv(23L)pdMnfVkUkZqWZ;efcmBPFjH z9ugV_lDOhBkXM=yzdJwV8W&D3FcG{ze~^}5CleGzb?mSB^vX~>3ZCQrAhPfY&y?JH zX^f0LwiuPXq+9dbFMmt{BiiapUmM3u^`eb8EBpL7qgR9#JFZ@pP_Z7Z4kJFH@6wQf z5~5{81u~oe(y}F>1GsfgPZ6x%55FL*H`g5aZXuCxt<)TjluVhzB59Yh0`Y2JtTrg^ zf>B16yXL<_*K9CEpm0OsDwGZ?*YM^|qqGAD6(wp2jKANkOyf0N<>00F+6Gq{O?+#6&KdW9 z_m9ILj^WztT~E(v&K}>CMNF_#q}e9;i;};Peva9TJyoi872v0t$%AS5b^$96tNKrz z<0nj2pv)*VhP2`W(h}guTU^9TR83&p zzoi_lS`_pqs#RVptFfTWxR8qm52A+U-(B_bfaMqaX`sFs38JetQPioU^2U*c67ld7 zyurf-FHuDDFs<^>GXgEj^niBj?V&p@H|gXSen4 z1D(UcDB1da8j+{lakMooh_7C3?Pl_rveb0nsM36)D|eMuBw1Qq?P@e-6!IH1y2OZc zp9&-=H@SOwm@5&hl;`W#A}K2?55S|;{PEKR5*evA$DUb~M?@@tQ=4SWa(5zt`5g4e z_DOK#(PU95G=fEWzl2S|xVvQ}7lknd%TmZ?j``1Fv7seYc}Onx1UMl@xrZJz~_^e)s{^HK)4rkEZa&x*@@!thYi{3-CM=Y?U zp)~({VmZW%=!ymhW*@Ua9Qbtm8}0wLC_phr0GdH28ppw(Wg@>FA`ze;TX*VRTwV5j zrE7Z7zzL?Eutd((87@g;2E}q_DBY1IED=x*`ozUmf1r6=-=0eJEas&cqq*o1U6m&? z73N?QVfRv|6d(^1RS!PzEvR)W6xqm_+l~XW%Wy+Tw1QPfIyh4f2@hREYOQDkZh)XXbV?q>Jd@?dP*b z(_?q}H0o8MCwLg5CE^0;R-%fz;D=pYUavL5Egox|v6iWlvz1$a`h1GIQ3^Bp2Zg6E z?5;9otKp1c;SE?qIN8*}oWob#B37Nt%gczpm3J_oH7ZkVofRtun9o(ZiqaI8Pzv-2 zED=NWD!g)im!TZ5ra;EF^{yZG-)Y4t1rVEu{54S^5|6b-Jv+Q@a~E`jS`$mW-5o;k zgFq_K&Jp__=ObK08uw95hrEKPPp9LbVUr7;eWeofCbX|%_z3oETiSwgmX;#>sAN$S zj#s*r7q>xUFJ_`A2s17qz!gzwdj9Dbvyal!N>#+gQ`TwH!c+dUKVPw#I3;YaPYO^> zo$m)hJK}5Sm;be*oA;;NA}r)DDWjeY=qW!I^EqG7X0Kemt(V@-cD22`9rZo;FrI7h5|hR2rNuGrk$5O#9Q<9_dhyI6ivYk&%OH!1Uz+CW>h;%2OyPI7VwxZsC{w zOD#PMQRl<$VgUJ{>|@3F5o9NKcVZM26wSAHYJQW#_R=A{5*GK6`4ATfyRiG8rP5T; zFhSJE6UBhc_Vs5<$wA5a6p|IQ?HjiN9Yxy|3Bor`sc-z=A_~p7x!>s-iF^TnoLDUJ zKzM!%|4*#iWA|Rd==VbMDzDHlb(%O++oY1z)8~-uNkzN)YGuVP)KQzg zxSRZi&A|An$ctw^k%)j0_0!Xb7!PE>;M3-XJdk~?BH9rU@&qFt?Oq2O1CuQ7!}t_F z!|Q>oKU5!)xCiN+r|xF;(Vb09vkQI|c))(I+s-?jPZZ^sY+28NKjx8SklMw3aMxfhwzXhnLMIS#Ke(#X4&BrECV6c8`D_nw(cM6Fa^_RMP9lx&7VWB!a;} zwoegi-mE%K#SpVX_U1)yn0`MtQhT{e;$hJSRh@WyYUqtyL;#BE0go! zE*3#QIe)f_f}`A&89d_0Cj92je56btS7VYR&EG(cz;RzRP(v%habY>W>7_CyX(uZY zBFuM9PTN{1or7_lntyhW5{R*k5F%bam>Au3Ky~apo9yGf6PdeS49-dD6EWrb=V$9( zrFHd|(EMWQTbld~+SV|S<9*od(6)1_s;@7d*v?NwqcEYNGL8yY z3G6n#cRdc|(BfZa=_JF}Hts*?=l=xOO%(p`?Q(>oUTD)j{3^wCGu{Nl!a1XGj~vwk zYJ)QMqNHX&M80BM1IZt>^NWmgC5-E1W%8uyt8%)Uj~=Id@``=KVMHQ0#RUT5Wo4bm zG-k!K3ipUxuL9g|f*MEmjwcT-0p~MkZl0?6v+qe5wV9dmylYwGd=NtlY14d{UU&tN z9%VBfbcJ{Lj9d+f-P7?!05|c)<=o|G>R^&r16^5_=7Q)8801v7`qe~@}IU= z;g!m_1j)IXHSw)9)SzY?ELZjQdVRm@S8s%+*K5?}mR`%YGQ4@}$~ zRD8AmepOx+ju3EB%dYT*%qGwPJOrwT%4Y#_;tI{SJj zSHVHGS@`<*B1#K5&c*(f3Js9G_|ra(f*4_lbkY-m1k7BeF7#GEetY=bD zQDsxCIlLN~oa9x2W5EyB`Z=^*QYV27<@;l#tiS)UXfr8V7{d7apFU!)y#EPG`w7Ti zrOS$a!DH(au5+dkjg57+^LcY0O%i+qN@>sk2C2)!86QVm$ zXQZcVu2L>~V2n*nBqYm-X8!if@M{8Ek9c-^9Ep9YX9q^=+qUCulflJHN1@`rAAryD zd?%lV_m4K>Vt|kS-y2ZM5jlrvjD$!Qod<;y+t1^A#DfUKHkTUv&De#9{VBf1_|^#> zEL{nc;$d*G15EE!8}kW)C2naiqv|#UWIU6>)6dIp&wW3F|E(}ZITsJ%-jUG8@Nj8? zv8!~!v}sYMnvMwjjVKy9@TX^tvb-F(*}w8OW!*@C>~OQQxw;s`TWo)G{r!@|KM8+gf0v!l^MY-Bf;<~6 z2{;*Ezd|`P8uV!q4qE|W0^XqEzc-GAa)gIV1^jkTR}xoi69>9>K~<}8znCEIZrgXj z+;~fxz<w>TrFjp`){xdT~gI1N&~88beGzOdvp;+1d+9(zEpUe0_lPXPm z;lIC(V-)~3{sN_)A+Ovz4z69tv3mFzzA^D0S5rfSbeAOrwdgVWrJ*LAX8d#^4!B#e#kb#&2Rba+0flx`KC71;fowV({- zk5C{CLe!8l^=!F0&I9xA!EG$-kg`oRg|458~K?f5DhX>{qVeGZ~?b}4$eNU_hm{qHaSd+o~ ze7oUqKg0qT@YPg(7!3^=A$StF2im~z5MDF8Y2msi7*aHvgU5?9G%-wb3_PA8`Oo2< z9E?P}!PS%V1rIWvy90k0)nCrLj;A3w9Yq*4ZNdGLRNkjBADjnIQ$hgA_2j3=Fc)0Kfp&rDuYY1txX&w)5k|rmz+UhgaE2LvH^Ic>^LJisQ!+!z{<-}o0`jDS zrHfh#f_7o&=*TaSP=rBy7nOpPfV1ZpMrA_{&&|p4K6d!)8bcO6cXM<_h(!F;p)ZUp zAZskbREH8wY&|=6(0bWJAndqG#FqXn=uLc^upvd54-eu#-e^G@{s{(#Xvj|y8mSlB z^G79u1708*yf!Y)ejcI9wmSqr`xVvO8$m0h&j!U-{Nb6zWtj1pa?uoFu@%S?4g)fa z>1Q_^!4y!tT(jGHzOh;d`lVhH>^AWmrjK83*B?GOYT*^21sibpxh}o!ih|R}$2AG? z@XV*{^YV(bzYeS9rKQzG=*VGA2E%Ky;IMh&#$e4w;0_kpP_ zG}&vTo>ADZmp`5M8xeLtZH(%TB|?WRT)S16U5%0S`w;Q_`Yg~OEjRB6VYAN-MLSzRoy$@NV10nhG%b}pVUQ~TtBGy^yHgv?upk~fegjd($PEOZS` zO>?I2t--}q1k{P|#n3RZxjHDKKcrLavyCqOIa~WN=%-;7STsZz08_Jhua^Tg=7~>nCFpSvJV1VNaf6$VT8_6dY0Tht zIbMxzv0v|X|8!$YuPQ%?qztb$xFi1os;rOAj{_rjT~AM>(_Sa-niL&;;hB%zpFV$n z2_Z_3OMEsoQzB?cK`sk4+TYrKKxkf%-j0c~isE(T9n`ZWL^LuSxd)O(A70$92T@{vqH*MHo1;UG z&KtYC)k+zFT(wrpM`AxFCI%>k;|B(Y&avU(^Tt{qDF!7ZSbU05#<;NlJw9%pfco>u zUcHB)F;7q1rCsBlxRr_#MKYeBS4~&fLxc-7Df2yruXUwlIhqYTQphtMV(}g4qu5iF zvttZzwC3=-T(#Dz`y))uQPYG|Jt3gj*VmWxB?+#s@qwU756)15Jd-( zY#)^DU>M$wII=W@=bgNR2ruh{-yM&`4uvboQ>jForOX$NqM=NysT_Y z(OIrAkdx<(;lU)C46Ym9D_Hu4^0z2Bqwk_8^al-%*S&pKobSeXryJk`Tk{Psi*(9D zsA*^lZ9*uv$q28DlBQB)Eua$+IB_{RX<*QpTY!m%~q&d}=e z{wva1uP(fy@6-8cN zX@nr5v$kqpIMs5Nyl6;Qh-wHu-N~tnfRONojn6als7=pJb2W4GHY~!5#@^lst64H? zYUOVask+}zUA(Fq&8``1bdr+c?oLcttowOQG+1I`qBjS1wghEI)+O@;@PNElzz z=qb{AQ>0>;A+itP;osjkxze5`-w`kmg}4@!Rc7C$bu3F%?|}c zJTdnEjm*br_pxhz=VwoSB_cO@!gHwn(YaOI22~{`Gt=ULo<_6vEaRXA?o-07do0!E z*B`#!NlCj4vwc<7(ql7G8oaHwFqBU1S#tWNN3ee20) zq%9rxUi~gzf)J21Cx5O=cYsKvFW!fdTSyvq9~@R5pSqCAEB>%Y)pJ|L4NiHg*FNP- zlYjnQvbP=+@Ys!qe6zIMBe`3VKr*>VmjwPV?rZoH>QI zV2G_5NeJqS1Yvi33m}MiCFEg{hr3*2?fz~0r_erwp?{FBLJIVjaE{YSaL)7i!;0tw zvzqn!V6)RL)6IH^p=_(Szulgz>gtLU8NmE`DO#-@vPauPfAe)aEV!SO71!$$P*I^J z|C`W0r-GS)Ld(OAt1FmP#rFukdVxRC`iD@*tb7_7#swp&v928# zhd&`gD#%clBYtdn1{zL@EJxHr9n$^WyQ)Vrrd#ham*K?v+)K^w}iB>RORhK zbnTd7Ii`G-$oUyiv&iYOG=(L*xz{QMR1&SchG{>n`P2x%y)(OQs2-`x(1SzI_^!Kb z4D#0OaLw;UGlm&CIYESO#@>%rS;|Dd`-(}4HWq?PqZbIxf(Tt`zjHOZTMCH|b890m z6CwHmmCkfOA(dR^KD#8==bRTdeK5z3-tLR{N|oCd;UsF_e@@<%H0+1GG+XJLA(M|F z@gNLuTw_Wijv!P|JZq~8I>tCy5^S2rfk0l4(Y}yU=G7o7> zxKYXpGXs|^XFkS!V-dlwjBK=gfdwB9da@(&kku4^z_q+M=kjy-4`W5B&Fhz;Y&*To zUz}f^Eb2bQ+|Ck=LzN@QPd_e$>e(n6!Hv-g|swHS^ z=#ip`=XvCo*i}Gi_3+Q#5@ss5cr)8mcB+@=M;~ctVI?9^>nX^!)aP%bQ8HSp=X*(; zd0c(7;++n>?2Nv*`|yaYmfoJ>slDKbd&&xNv-FCr1efS2CU~InR2eRE&CFh3dS}~? z33n)SYg21171IL5E7?j2X{=_&Q$QiRAF`_dy7T1p2+5X1f_`!DlZxIdho; z`8*}PZt&XBB62Jy%>gDe>OuwQV7d%B<162+z{C)f&wlZfcZ^}bcpmH(kXr}X)8k%~Uj!TKj& z!+wLga{uK=%Nw`wz0^jpI_7c#=SHato1`4lPUU1*)Pe6Wi{$1=qZ_qTj4Jn2ZXBo0 z=|{<2X2s)vHpx;gpYQf%$b1u0+MZ}Cyw>w}TTyo$k+SLtSI_wKiBNgOFHm74^U+&| zT9o2nMod-KbDx|W&(hPlG!$O0&GIX|)s7s(oGY!9-0c_oeqpBqRI|UyP_n!_UAShx z`*NtM*&z+Hd1oair}eDa)oR>AobFMWZxnea(_w z-NiEZ*yRy($Vxt|z9Xw1UnSLVedoH2l&e!*AEIW(mwyI_M? zS+T09*}sdv%2E2I=?1Yo?6BHg4Y%x|E5>HTjvL!Nx~()F(x-in7Ytc;8*jV`zw zvRDl@#?>KjxP6(Oo#4NGh?9CE1o zfI0JH%-7+QW=R{Wme=^33-qO=b-ztvUXj^MK6r(oQVlOuf*#SXLq26%sMj&H0 zplE%EU56EVvJ{*G3sHse%r)Jtp{{0$uS6ISBs%OF_eNaY7h1@yhF;zabR6lJi`5Qb zEi{lIcU!)wYoP zMp{?QZ%_EAG z)PlkWTmf2AtYL;r%4p8TjueMy&-mtAIbo{K(wELTkwk=^+ZoAn{<#b^igpZrKUlGO zTJAiTK-7$S*V{XI_?>&Rcw*`jxQ4RM z=jYS^kd$s&y2+E!=Iwu4#ZkNShLi{jdeQ$BH0Yr%v+rmdE3v_mI?1cr-bj;*7PT3J7ZQdD;0#R zu&-m^Qpo%D%1XTEBU)2=+$c#LLqNos>C4*SGmOf+BSFeF8T>@6zE-sY$AA{QCYZ#) zJ=UbZ-d{;@$<=*-uIQwP-T-zG2`QNqCFNb?HFN6h(9pM5$9BC;{XMt-g?CZn#yRdp z#kyy~;hePYwl1ht=FDawdT4a+Trd@P%E0ULr#;sEtx(z3n*^7AiFeUQ26;It?qPM# zySaH`xd-bhP$@)WPhTw<`R@JunD*|MCa*G|@+jhJ8oe&=2wi8Q!XP)OjlVkC%+B90 ztYFPbUtXreY#|}~vrs__{bAr1#8Q*$E6KKP`8$pNumDvlq(3w=+}mZY;cK#|Mbf(= z3h#r2uXUXz&q3zN=Tuw2G>+A{C@T6G(M0oXY;MADlW%XrAN}LS2;9*Vv~n-rN9Zqe zB68eZ1_;p6qeLk~5S5Ume|YgHDqDCG4h&{&Ng4q19feVwgy-3d28_<~fC3THv1tlR zU9$~eBEkX=(OSK>C{ay)lyhlGE?y1;yASVCMhfYYv#M-}BTQ6>o|a+R?l~i4`p(X* z4<#6>zKcdVqY8@7^}67&Yep|26FAMdyS)+7IqSZ0gvq_gwP}icfJBK+8j9K&I>-al zE_MyMI^ErLj&gNBEw%g&cf6T22dz#e2a^R!uy?2-yIl0vAO}vwLPbXughL{VBjQ-% z?+qX_nd0_QuX7u@3gXm$aIb$-G=ZqS`gp!6pi6}nFWEELn{Gr?tgTN{e>bSrYxONd z?1#6ihqqrRAHSga_J}3J&Be+Pr^DK_1mRujxb$m}Z!7zta5{+3eGTm+k-t3|Eg387 zGVCC_-0V^&K{s^X{9&Lfeg(3cpn$n-Q z`BuWS8`y~v?Uq5P`EfA;c$#;j)e&^wvcdPLUVKp3N>Fh4W%Syw<Tq!Fwu!FB{_^h6sZh!{)GK~Db$gtGt;jt(b?M^*F^2bL~fv0$jU=F zZkzn)zh9=o%Wmayg4?mK#atbsP~8r4UA=rfF2lY&S77o(*3l8r7y*0eyY-F?hye6#rgsKx4y^c zPUU#9oaE`K`Ki`0ravD`&dQ->6_dZNJbtoRW|k zNZ<<0RwB>Qp-tS4`9cgg}8za66u)b~*eu8hdtMP9xV4T`czh40#Yna`kL1z|(u z3M~x~otZmmHK{Y6NRq#OIG90obaT|VKbG}YB7F~Met{*CL`;(BgC_-Y2BKkj$Q}fx z4T^nyC;uwrJkyY3c@o_pVJf3J;aQjGv((u5zf9;d}0+_b;`E~TO98J_d)1y?tTO}&H{{3KPA znc^%LwsBqk=&3e#gWqG;gpvu*w1uH~zBum2N~y9AZJt`XoJ7JYxxCz5*{jp_p}Dmo zTnnUtYiwkicH}dP<+kt};NkyC{elsx9~Auk5ju}zgYVuC9)vpwHb1Xee$sdut->{8K!fzZ;`L-9It6F&4mH7bc*eik4u#op*G@gBCdAVP! zcpGQreQBJ-sxPP%C_%x&mM@$&l9SHT(A~9>MFP$)mK=WIwCv+y z-IV9K$7ediv%np&p-O|jlV8)51>R**BU#>8%(`mpZ00C8yN~OrHrmu8m;$gx9+Y^ONI;i zT$r02i0-_1N4Gb>2#{cx?aJlu65brN4UJW}NIXfLGiZ`|x;fptulP^5BCmbU;Cz;; zI?bxTKhojuM#22Dmp*j8=gexGjP1k6Cm9uk{7L#VXMUSYyILh~U-rJAr{WWD9xKml za2YBQ&+bJfJLcwg8~a%%liZZle0m}h+1@R^e&-|h8#fwv=e+# zVYja%fqby=1f&)TdI|vHfFm>&cjeb3e09g;#bcY^tF6b|zbxLFFedlCge32a%_Iwv&qp>V%giK3EtMK`J zXz;ym;``kDG>{KoVBK7PsC%qPTDhFAKn|5$nPw@PAm?USthdL?q^C$icyTeHk914? z3>}UuLxA|$`tSqvWgpBg1%Xpd{HkdYuI1EKMyuSqIw~EfAr`OaJx{?zki(CrKyQkkvFO__=x$9N+Xv>}tPI`3Xd(oa zesJ4p-)0{!c$+RS{@VA>oc9W5uCqyUc%;W;5(D!diHK%$xV(WMZN#W6r9T~|SIhZA z#sGG?ie{@>BYu9Il2aBrM=8>;ibsrBaxJK8g+M8(q<6*aMy}h@x~`3PP3()aL80r) z6HdzaTDC-=YOrr)2{tc(m{ek=fq_-Ef9b?JlK6I=@x9~r&X0|{ZE3uP%DcrjWwWc3 z8M#e~VCPEjn@1M;-5b|79;({CGbzeg`%Tfs#N(n2wQzFiwRzonqg1cuAp3i1Sjdup zO#4_Oh5!0~AFEA<)aN+no?m>k<9#H*nQqkJuE{^QhdePbsIs8ad_ajvzHw$m5jefQ2;Bjs8pU00`1t0!_J>e zh^!RWj~PV*ovU*OIc(i{5tBDnGy1l)oPYWF1UE-gr#-8VJb{{9B4U5#WL%VHhB8eYo8m1NT@XfXxvd%7ki#z-0&rF~+# zwV}iRB2vufv^AD29Zo#`ED`$=f#-3e0V`+cqV2BHYICy4L`(39Klq?EAt&B+oGP_V_#g@}_TK*IIE7 z|9+hZmC)rFzf^!61$i|9Ypph2a^H0lrD%juRSkhBGJf^Wc+bwyysB*ZvcY~;N9U+p z-ni&zwGcN;ki0_g7w*&L&oi+6*v|ylQo@4@EmSq}7x10Y>X=!K3qLI6qQ8Ou5*c9D znKN!<-64v!rFX;r#CT`xSGJb*h*C3KiCE%%Vg0sV#vq*G9vTWNm}U90f7u9>L?eHD z$T`qxhGj#pprF7&MKz-G1j#u8n_N)z&D2y-H~PFNAT3a!g4EbJ z=LFyceDL)A{0-id>8qb~9l$}&p;i;&=^r5?j8?v^Zd)SPJ|6ww?2^W2^1RL~;u`4+KMFST0*fl#fT(12( zY3&>Us^KETY3c9e6_m5o-zG~+l+^p(*BzNzSrEfkuW;O4k+=4}t{0bAlFvMzNtAeB z(v)y99NRQuT9p$OrBl0>6>5)@f$DciS%o%+|08$TeCY zCpp3}$Flm2dv~2i{NFoanSH%D8D%x^j(s2V+sI~rx^ULn<@69)aJ{d)uTMK9{?{HG z&*nlfg||GA^3IeMCO z_d-cf`zc(L`LXIk44F*f7aS!k08y?GGf(`|>bgwrA?vPZ&w>y*+ z>fiH7W)v06`gbuYt&b=!qPWGl|5R@*s5zfLIpcc;aTNP>lTut&27J%b-J^KPjjf4u z7|Jk^+2ZRT7?YIrK7?}-!Yc5n96KR=Hr^$Wmtv8E-_=KL6y~&&6~URy6HxGTN}}C? zT3COfNNLcx*-KCj8engqAg5rln}?HFpI`h_$pU8S;Z=$QK)Z02F8Oa>7Z2=G=ikf5 zhc*)#cq(e^z4XP8#^1~$N=bjDL%Oa)R+8t5d)1Cfy#9;$gSU0x2uFX&?|o~v!|mvHNv|I_QBm&#Ut>bB)MZhztBuaOR{E<; zFFL|@aL&>os$fW0|6v;7I;3ke#03j+*v9unJ!i!0epGGdDavhx0e&NKf( z0x&DbC6Y4t;XtgHbhT9Eckqv2h}k2X-8I+AFsdTWtBnG}EPxsN55pem(+p4{lF`}x z$pKoo zXIofrIV?oA5x>|4}B;uKRfVfc;$vD>&S?VIzAzQ?d; zWG|%eBxt-nr_EFuj3P}wpd6E_Fi}L-5)1n~HgJq!1X7J(B8?*B>9oJhDwYcMOw9_TwRxmCK3-1H7vSXeL!3ih*^e@#ir`Fda4 z`rC1lJI$ZKm;5_1wuv4u*xkl)P0-l|pZ7<#*;-@0SJQTpB$jJAEVvx^`xQq^N}gX+ z6A~2_!D3;4cD=-^*{=FRz;#;AY1KB_q+6$vI$VSm&@e0HzHaqJa|bP0kHB!eDZe zWMR3z5vutafw_SJcAvmkk54vv)Oy71b~o@i@8)N&8x+i%#Lxu)4vT!TfaLI%*~l70x@#vd4`X2L)sW-rsg+tf{KH>(?Eh%dyqvLr= zCyVk36Abk9aCr%{<*9+acEgycC?>D1p6Rhx;Y^(Hbd?XnmU(X^Q&ZzN-xF^2y7&<^YF!poF`6Hei%V{5P`wtSURZGb6f8f z6B#L0R#sLw!|;o8q1Ol|y4E5rfazI~WWd%P(v?49+WAf5<~1R9=uF#EU{sX4BOYNQ z!E+mEo3Eyl^-Bd=e=qo%s<^lxA1frkz=*;kx^iS60IOO!MiD^b_*`Tb9ewKz2ydVyf>lE_rIE3eDuvrZCt%ZH9NNQ#fFRVCD(5*{Z{@dVzwV} zb?nYH?Nh8uTRJPTbhO7SQ?tuOevOy3v$KPlMis{YdX?V-K08i}Fe&>zJ4)ymF&Y3R z1wY`4O!Ie;CTBs^cSHnN0&is0J$K@+5MRua8rIl&hmcu}oniXoyc)DEGfeY&4{wwB zgOBJi;;n83k&WEWFL}~S<03Yg&*y-YPDDkgvdoSpnouojn}ul-Ke8Vr-TjS|17o-n1o>t zrNzfTspg}UTzkGFfkx}a0oo%qzP!UcaVih~0VnrMrLrSBo&pn-&>Db@!#U4HK3ku* zQY;D(*%3($_1`WbQR;g7R2KlSxOgG-wxjTnOP}$Rki|tECyE$+)iT4H3Bu zKJ3`k^eLVwLKV)jCW{v;oFXC-92MoSYIloj#qJ)n(cp0utfB4#C9?;Zm?JZsOZMT9 zQZR`)D7(?5jEsDb-bpHZKloCsqw5&L#LUdd^+J!wJav^jHjI96k8|` zIm5upk>lo~^UEcg1RP(9r-wwu#QD{I)_pzlW9aa&!knMPLHO4d13O3isf7Q$nJ}t@ znG&eHT)@M--bvmXW(cSYw0A_t*zIY3Z)$~S!*+%|PDo{qS62z}VYZmoCtMQd9p&&7 zE;Qh!eE=?&vKjr!+~}8P`V?;|J&!N843hw}Qt3TMY-GIi`Y|~}YGEO1o?LJs$)fmI zoBrQp8t}0`bfKHFX>-%r9VN_Q2H4f%i`?a9K+PqeouAL7#|o)|B(^7nVlnGGxNgyi zxL{*pae=nrS(+1FXiuB)n1O&VFYXV8um7UnE%7e4ON2nu5vW_keWAT|8_O2Yk5+a! zjGPcCbv*)>G;?zcg|C(kPsYK~Gbpj2CvxZZMj#-ZGX8LaQn zF)@jSwG?3j>rZ5rlvJmScnTwuIEQDEdhT7UqRFJeW^k;rcO;HdIn_X~r0sFL?-Ql} zIlfsU=^M)dfTf_OW5KzTCuM&5tn7{rRnv|CW?VQ3(vhp#S8%&StVG>pEPFm&j(l^Ns4BXPtw_P)H`|QAvRjcFbh;&fO+8(&^3A1 zH9kt-U|hc%!)BeAXI__}*UAcU#KjJ09>q_V)uy?J#eUerP8l8`?B|8yS0wT9j0&4L z1l6vP5) z#Poe+p?@H+;imLw6kmQmfctpWRN#P~Pd=Xi#$ha2X?e4&^0^84>gEOMhr3*4zA4_f zNz?kXGik|{V+7N6#{M&PQ~x%v$4}18^Lz|Qp43vYsKrgSqjgml770C1BzT=UV8KC} z9O8g!`_59xz|HOZ9$NR=6?nHVAU&BmDe1JT2+jXR zmuarN2?e1Ah6HzTxV665dJ8hdCw!hrMf#_yd_H2#xCaghIQJz|`sESc#ZAN=jL)i0 zfI$fqtG|ERIKFu*u&X()8DtaJw--v7i7Wsy2@+kde>grqUWfl+y8{67u4rT!1n9Nn z9sqn32%g(aB)OT$J8htldHdun4M!U^d2A&Z|G79eA_P|Wi~=tka{ronG_~p#I{U9uYL*=V7KoNub zuK-Kr$AC1*V|p#`HKde06Q7v5?Ogr$8gE__wEKGRsNny5i4vkQf3c0dODY6#9Q2F; zuV!IM1Va0Xw=vZHC^UEgj*2rN+8hCLsKqY-;Orm%&GQZL&B~Vo{0!@Di`Da!W9^Jf zleb`jV2x8USc_Q})w@T<S+enwO4cYT#YtUhN+NY^%KpuB z?}measFZVFA)* zlFkx{L60_@Ig+!faS?6I)qL1TV5d!x1MiH=dS>sL80nKPT;jhLEh;LEV)38hkO9Nt z#sG$6Rt5~maN}#^$w@-T(Oszo4K4-}BI-6%reoRT@!FP#=v3Bsi_%>|!BUnD z!Q7F6D^P0tgDs&-#s?jLvjIv&BxL1(50vv594P2M;y_i1A>pF%$w{=r!|Qu8s+71j zh$-Q0nbeRYwThaWbnT02PR5&&;F3oavv_v5NPOt8`G1(Xu{VwYAIJM4`n$p3T9Iz6 zmo+s0qLeVSu~)>PRkfLKVCgaNEf_p0;vsf}DzK7aa!2dq{g0sx z`}+v|vuXrAC^_kOdkQSQ6i4U`Aip1ykNrsYvd9Z##3U1?Ttv8LTZvEDPo44I2Y+#sHpyM z!8&5ZMsf+x((u?I%O;5G34)5O`malV2xuY}4I+T`sxxH zbIdVEkKcrGndxg};7p33*7A7j<+CJ*N>lm_;KbFm;e9YiI<((<1 zrCF(q48LF+g{ijNaQC4m6G+_$*<2Q?B_8BlQfl@K@p1_&mdi2v@jW*qj_+OFuct99 z$3X$JSP&0eVuXsFJr=~3ErHJ#bC!oB5a7n*jk|Fc;YL+nRX8V-3-`g0iv9vrjN?z2 zaZ_rkei88z*dl4wyY=8d(YWLNNG9|Lb_Gm|3s{}Q}nrZDo(UBmZ4OI_;)-0+_ z(0Bag$&=~ur~VF~M*+y=x_zabKdBPd5$Ddfd450TAzM9=^HPg`EP*)Dasa~iQ4=334T+N zliaGRhB;a)ecppX!=J6aYiin+I0*26?G+{{V&I_1-6O~D-6bN-xVO02Nx&AyHr)mR+6V}Vh*DKUIGL4N(1{S5g@BkHM|lsPGMZc~bow;7aehzMq^d?-5QmUA{^%)}NJKc!o{^zp zzxl@!UE?3%jS+MSYrIkbljIV7KPEpsFDn=wKS)js4vU&pQ`bzs6L6O>Gde4pY2m5_ zSS&%o7g~%@N?{#}?k@ur?1LGmg3e=r`_v<^gn^6ZrYuhKmmffO8xP6ja}^K(Q*hWM zwj=z|VfH7+)CYqw9k!2_Uw-B$oNmnraDU`|j^ki@Zh>@C&JMGWjHzvxpX?Q79cKAm z^;Zf?B`1^o9Q@hWC*P7>Il)?yDcvMJ=SnWdV^(`OKo1#$OzdF_L!&>BjA!m z^V4@GbqEU@(a$1tDXF>9e?_|%xVBPA35f)K(~cveU%bEP`on|x_swfaVD?=8r#Gzt z){l?x!{9!}RzgJS8Iu&~h-pXKx}}bnlczMcSJUZcgBjlBgy52(6#QkQCtPQ*8y>^C zHko>r9wl=|+fjKPF5O<^Zk^5(d-EoF{W;IokQt+fwszj>6XstHD+TowTGD;9In?a8x8EKRrinzFeAQs=_h&5ihY?g)``qYyi@xT^o$Ff9=C# z)a{+E10h(7`aO_qKpa+%U5FY(HK)A&Ei%g#>8eC{Ftgv@1$PJlMIm*eSZlUIu+DWW z#n%Ud9HWdv!%^VD@vRxyk@ZH@^<;kpT}mTc;rMZ}%yRy}y6(r_bHn-d9+PDwBRDeh(PI`~vkxv34e`-x=U+~Yi(51N zx1GoJ=&`2E`hWc*v?j74e9H8cxnJ-1oYPd$#&n+(4s0pa))9<;^oP6%-w2F3xfiisg8`o?%YCxX^rX*XRRP-+1?4uf z&G{CoyaTwPZbNS>477kmN#5Vtx-`kmB2coVuEfVmfztD|aRvtm4=MkwGZhnSjfHgl zvX$GdwU^FcT_xsk0$1W2R!nqT-`x-8xe)NA3|jAC^DueCzOY{ zJYOlU*=(o*&6gCcd-^8R6$MG5tV_Q#GZs6Ng&|jlW zTdSWKN{Bu&cVs&!aV}N8kQ5eH9vB?Vg+g7_WWZ%4KNUY}SOWu zjab9ODlh6!flzf#um@*#r_!}17icoX-Mf3&H9jFBH`V1iYSzFvAXn`j!lZ}4J5j%S zl1~cyz32>w3yt&Xs9^r--T3&(p@Pzu>A}K_OffX%gm+Bu)KnXOjPs`s#2uKu(1~Pi zcp)-%JhXOPxfy3q($o1+4%Qrl-Ep?V8Vzm2oCUkv^K&Yxz_zLnB`h{Ub{D5r&Z#^jEhc+ zbhi7Ib91$D8+MPWPsb-0`3T?CxRInUY^y&r$Ls~hoPa=FMP)ef)K>nWxfvcGpJZu{ z=?40W=v$JhqtkqsCb8T)kBL$0R1BUed0kG3o0_7(lInh^q=nwp9;RV1hupVQ z)>S0LFHs*o`s`F|w8P<6B0)lhdx(@QD77To8P!nkAmi1blpZgkPNN52x~G$c(DvM? z-;=k3Vz65gOMjWs{6lHz7Qhgr_>)~T8ptryn zOK~OJyXbrJ%K7>E?szW;H9CbooJ`fp*89$fMZqfk{Z(E!R6n;Z5&efi`S_rrZkv}D zx3((ARBe9;dB>ad*w$UWkgT73J;;L*)0iVA8HPmW@Ui@I|NdnnZ^Q0LnCZrsjZ^h7 zb`YK*s|$zX;n>?^S%VLAw^}Yl>=>`6KBH|lpA1aoDi&cvP!AR_aPsp_h+7*6!;BXY zo<9{nB=gLr3w&cG#fDU5BhB9(2WqNo(O^Bz=Vny+^gvT#(}6i|=5mv8cM#U^yM8;# z&G}~BppYiuXIHiC=lR>HOhuQZ=MDHjtR4>I zJ0blL6Wr<>bj|elKx@6ArS*Xa;mQkB=Q-Z6=`Tr_fPCJ}xtxHuM5PUy-4cOch$NI8 znQpR{9-`6{)o)+g*($FWaWMT!Blk#k_RB`fh@g{CGS~+hE^^giA_YbNw2T-7-m#d% zfnzH=VIPoTB;pt4xy#GSIQ}8d7sSsg=I^!Nd+xTgn`I^9E}x$e3^YJp<`tH)o{5y> zJgA|U6xP#q`uv8fr2U_L_V|+Z0(oRaZ6CJ_kHzqNnb~&T_PN;; zLcfuH59~`ywm@-cyCg!^n!gs~2=mG(=WeUX#;UbO#+uft)Y2 z{xPJ_giFkBDY)mcq7zi|iCI^aNY}RYbbI>tLYsHy2iUBsp@A?i3nO#ZuV2ie;oqga)H$%r@!WUJ=$e1|1|&f$U6l=;Kr0SQHr z=MT|gQVN72Xjm7!!%uzRb%@s?jjJg8(Vq$cogQ_nl227Lca_r?fml#OE{7eMMG~rA zk=1Li4um*%f&j`y8yP$2)P2;zh!p8rz1cP8 zadDjfTsf9jW%DzSTYYwvG~Z}2=WlIDf{|ax9;vMU znU5K7$a1b(kwa*INZSnVQsUkFV(qM$@q+ix)Nd+9wq)ZR`2fVt5O?fC+&RO|&xf*8 z-um9w1!u(7AnzddmHTvJ0Lz%0s0lzpfZ>^Tn;>i~9s=LeigejjJD1&Je%2}-gQxYwe8i{2&r>?}MZwdLo}A5H)v@Y+o=N=q`A?Cl2?++mYoc1i%|x7Eh4c&J%O{g69g>cehzo-4i-R^u*d$;fvhzwk=mTT!u7SN z%oJm7`8+Rng&b+?W3gZ@64MDMf&v(DN3n+(kw#`U334s-`xUYkVK!xcoVF3TQD$~W z)PTf?k4Yr%W#Z8A#n`=gkrUh?N0KXZ-fYKsA2uX3_vz7CQ*nUj4-(3$Aae5l2^84j zKsL^9=Wg;dDG?A|QuD`wimwP^fHxg~>R5FbLL2*&v3X3j7wAzX(s7||Iav=g<|g|$ z_Ez%@4%%i;Uqst@0`wq`?Dxeaz^pcW(!60wi>U&+hC5ZECYU4La*& z{5TPxSmy=qVPN4+TyV9>9ext) zTM+hMY39D)w$PeohL=vyIp!wGsNRT#U_4A!B%(A{2#T!FGy~ad_MBMtO6IRU{ z(f*zd;`lp3Q{;Z$`CglMZe%T4-p~b{b!z7!QzH232Cqd{|DY`OWH1M3!7iManx7sN z_k1J4ffI!ooGKBa)c;CWVtOUCqkKNW$5CXHx!-i!`&3<3Ri2Hl`cqfx1?c865Pi3H zKRUqMNXR2DJBupnbB%po46nzMDnJaBk?A$&d?U?JpIuO(m284I?-2Gd=>jN69FNXF zwS#y0Ki;cw7RitZNf8(mIEy3%;4S&(j6t#T{ZTR8)^!KtP3` zqnmy_ptjwZ#~IDZSK{T|T~AgsUGfpuHDg|U5fu@UJ2a#`x^uy8ru^zv2`=rcQw^M? zP_@|lOm_Cqd22~a3U3@869E1g1R&I(>C%LSpOT#$pb9m;`tbx&fc`gw*|mX~QwRW4QXc|3iC&)9{=zRk1Zs*gyaUiorM(^rScRS6y<|ol$hw0T-^{D5+1&neg zg+a}~W*NsXOZMhZP!1MYcNqBP`ZTgfAvllcehUA_YK5ud7(zerzoNlTrqoc zc6RpjnM3J|bASick(lO*%OCp>A%62P`2tFHfCJt%MkTrng zb`m1hYjyI+Ga6=Qc_#J1)oL%?5JP=*Q=))suV8A@O{7h;T~99Gthup#cn3{Yl!$2I>R{;oJy zcHrWPV1Q>4fxDrp+ozA7o8ovoK_+umUYn_!|FwW?rt0Jm@}Q-byLxi^ouP7z>^XpzyN%Rmw;=isN)VJN7Ckw8>$b)0L#W;42$v>~ zrpAxd8DzbY{i&?R#4HL{Jgi9`rl0iAwnZ5lt}qG+ zNXb&jlg1|`%7BBy=p=mkD4BH$3}BJ4seX&^5bmmCe|i_d+fhy6oGCn;!11*2(|H02 zcQJ%VuT+L)MVyJF<`=LdjooG{-<2FvhFFsR;4>Jn*eq2NBMXX_3Yz3CgIujA zma4uM>8k3w@;wu`EO1e}j}-1w6UYP(TbG{|9OyYkfjT-*_@yFS71dqTk4QT##=W#z zL5yONF#~QgpIf8ym`_r1fIDh_)o2fUwkQY&Kp&QNg{dw$%v^p_aeYGq&{&d=pNe;n zDhin4;*rQ8P4Ft}5*c|yLc$0>QcBb1Djc@5aM=#wQ|jO| z@!cV`ouJmswMb5o?2TlYh$3{1rj^l$524Xc;DA*aMG$ojENH@PQq1ThCMQIGuJ)6Yozw;nP+VCr4YH6tUsoBWKw-{7pKl z`|gm}c3H2bk~B3|xj@%O_5lQ2qJ0kVRt74@C#X z^B%cvt*se3xke7ogNmg7fdMMk*7i@V62y#6_i!hBU2I3pY(P`x5gr(DH+nCD4~pwT ze^Gkc&#IXZyfGu7=*XF9Vqc4#W(OguZB5Q?18UH2_oE|xbJm7<`svds6vq#J1e>#! z3xsIcvHv=ZN^|(FyW9cZkVrrP&xHAN=O}TkZ<*ZcYf_U#M6+6PnPtTOH4n)aca|tO&Wg;5@2Jd0^ z*WL3?XbLl&yXrM9=_Lq=J@CVCKLwncjzL3<|-6g)xe>b_5W zy!w296)60yJm)D)j%QnY9drFg0q6nH2cp$v&HV16zvqt^BS|2LSSfgPp6w}Y06z>T z0YQzuY&q%#K$I=J6hg|UqzUOCzimWM9KQzb=*E%FB4v~U`EcUkm zF7Q8rK>Ni20uGPqDwi60JPyf+y9$}yVwWV4`zJMTN$N-Xx5R8s--96q6b|;!4$jcc zY#hAz8>^)E9pBmbhokmu33Txk%Ylg&(3N7LvUOaAvlYFqiVm|CJoWY5Op(0(7XAD- z41KEiS+)_f{_1Z=SoIW?hogMb=kWR0S^sduhI07e&^-ZsT%Y??xGqScY-W2IMN4%! z6Is9YGX{&+7f!}m1?f*?3n7hl#{(^AGDR3qPan6VApn#@e6ks^yksiLZ}?R4F;1?F z%FAE1lk;>^8)o$DmqiW1?X6C?AGzm#)m*zsIe z$}h}@hN`ijRyO4D^f$Sd{4&pyV?cTM@F5r$59eH(#dU>UJi$odV6VYkld5v|)62#k ze=GZx&CGUlNGyQ!(0JJ*T|C5)p6V9Nb`Esj$|t?^D#HhiJ6zeaa2rLQ^-+doh~_O& zA%-5EaM?G8sGzra4|4Ksau2%>$n?TOZIb(^s;B`T>En*uk&IP|Z&*Q7H zVgG8rsVOEJsAh^jZZrG#5qlL~qO?wl`#+v0NB1z&MQ=?4qKocMm z{+0%%#9@a|`tZXxWJqT^!JO&^Ke}UMZKT43d-w)P(C$!{!Ggrnic)Kyb&DiFXSPWc zi$l-c+vaKJ<-D&RqE@tCUgFCO%5pf3?|r%z-QNfFD<3a*vto^ma4>?{SaOtkvLh(x zZh$=LsGy?{fSJQYni|IV4Cqz09JMlNCTD`pWsGtfye$%7rsQ8<8EMnPdT_r((V zdZD7C0&p73-v*7}z0~JtwSj#9-mRwk8L|4^3EV-Twfb(u4c@N98tGIh#K92;4Bcr- zjA|ssS~Tu)i2pA@pVW#tWGW~(1PSyC8ejV;fm9+lo|6u%>c%u21E76cfoSfg5*eZ! z8}q}@c6wCLe=4J(qF@28`f}%NMiHVS4hk1HKRS7mI{;u=0j-85mM2#)6Ao|hb@-t% z3JHljD}EFY!dCUrZeFBFvTwix+Z`Rvcwdu%4>&lF9w|=qHF`bF>76!P%&b?Exo<_Q zo?uNy_HcEhA&sV!=mQh-h@1mLrPOwi8crXwuPOA$0lE#d4FHIwJ<0|nNR;5xZgkXG zq?Q9d>FMI4a7?vMAT|}QEm9dbP`?a%M|C)R;62=E<<47V?%n(Hbm`8;4`tRoKc2d~ zK;n`U6buXuUc65W;3csI_>G6u2fsUm9!}%7D(-(jSn_=l8X1xg+TZ5OftCA>7ZV>B zS4t*6j}@&Roqp~KyU7j*NL3r}iz+G}(;IjMa3ar-KBVGiNFT_lfe7LEtKV0^GXoAI zGK2GnJj8G!B{-K2#TTgx!QD_#;c!@Ctka?L9aNMDNDgylY(~(cBCZZ@HhNZ?ic%o zqXWB}S*stvY>bZ3JqUmDh_OE?=kgMkP{rw?Y;mrsr>FD~01tM5mvJ|1_bdWMH*(65 z-mt2n=lyG>M(;#ULqZ~GBAxg5CJEen2E7Pa`1k^#nLHu`F&(ZC|6uN>k}b$L*~nA@ zb{?A~utmHUnS)#*d5x4{UK$^G51RziO6w!r-KejU_NU@NVO5`jsV!i!O~c(W_NCYLa-2g0{hm zyqAV(TpJngkDhs-Qs#NM$x9f5d$E<|l9HVWqZFFeq?B1UddRUZ}^2xny2xMcFKG z1mY*u@D7$J)h%Qt%EvF1g+vOp*u-i~tMQh(g+;zWUf=_PJy%yOgA#x&Gv1{D6M{HU@G499%Jc?) zlk7F8+U+Ect->*a@+Ag(;(|~yRSme}LErJjU+di83F4Q`psn&E?!?)VQo9E3dOwIX zK>TJLYVu@vaDHV)o}8ARb_j9f%NxyhkVSKd%saRkg;L6hW;M@AzUd#d9~!#~e|6fm zB1dQHtZpz-FfosHTlf^*g{O>Nz$XzC9tBg@c93qwvOeocow>di1YOyAKt~jhpNM$@ z9kTyiQOi2zgU;Q{OW+9ajd!|b@Z7z7H$EkHd)#RX4gcK0Qnph#{P*N3u)oNdQqcg8 zJ|_+VZ~)v(GWU_Lif~vkz~75_d=BY0Ap*ZVKMjH-O zn=#Kfh8#x{HfY82lwbPE6SGe(pAW~3r-G{S0z8R32OBwek@@uSZ&!FM_Y=%MycP); z3p?v1_IfQs4osoA2XOyEqC)uXoSdQeK51$U!i(mP*XAvh+n}=K=R>CI zAbk&|d5XRueLrh^OzrK+3`1g{vXaN!h|KL*uU@G-IaOp6AE(s@W=b!r7geSzuR8JTlaw$ura~{jXSrMEo|Npm*Gp*UBdNhrPPHYKvP*A+ndmQ~z!dHU(|# z!??IOCWlg8+5DTQ28I41iNEA8d5|3$Z*O8^uJHLM)HMkL{LvFOyg-|qnz3;~F>y&h zo;61t1#qy~gJcp}rh-_e$nS&JW&?B>`WZUNVI5uiBjZ>wnczh%^>8PM8?)LAq$)m9Hk|bNl>B@O@TR%vyk51-M9ay^GSY(AgZSy-dL|58~Ga1s=9YSL{&O)y4yv~sBp884$YA7%ldGdXwNxU^;gCMB}H$nv8_Dp%B{bD z|NgSe?(=&(x<_WgmWAmQexT2W4zGGaS@`ju6P?jI7X0|e=3v2)xo^PlR^@h+gN9yd z;nyB++$T7$K0$&K-|#~SQPInyZ{7YFizX)_fk&mR?DBm1HnVTn11f52T>Q|-Ik@C# zhL+@dvAmINY_ce!)Sp(g+c7eJIVdT8{kk#2;aU9P>S8U;Q&ICwSfg(6O{t>intaK2 zTHWN;Mg72biv`^M;A|pwJpJCrpbaHcb3+SPK0KL{htQd>Yh!79++ZKU%e*9gXlZ4I zm7&k~Xb6*x1j0cjR2Y0@$0@RsyV!S>yT~ZZ>-B4$b5J!B0$|^+c~df1q}md}6SLA| zDS5)O2DM}VJ?e4o!fjWTvA=kE+$(CSpf7Wm7W-4J(cVPwUBnPiE6=?5A=r24whf)F zLhtRKNDVuAWNoZkU61%bp9|F;&4LW9xPSUZ?$_ z&n^Ko`9d>IdvAX~Ka7ZVpstu_!9_@?$-%5ZqFeh;a`lH5BgrE1P!fpL35W1i3%STu z#EcB2Cu+KEUE}A`%Dc~z;1m1n&5IA$n>-(`lln~;^2tRM={;tmAfq9EyqWIseVa7Q z?-Qt>)J2!|WdtUy)3uk#+P0$dC-)b~G#pOWBTk2-u3>`A$EzKf)zvFC;dDl+uK@Aw!gnImoYpg zV9g;Iw+sa7p20M7bX>}ALXqrj-$@gzHN*TgHVd)5uI59l&I9Ql0 z{hnyE;4vvvl03yt`F*s$pq=^sjO@yzb*Pq(C!*%rN>oRBp}^L1zMS8l+*=j-t1gUh z&6S9#^G9{JjsU3I$XcJ~J%vL|?8V|CDDUe@XwqQe0CdyY5isBUrpOWS-&_~)pIjtO zk3zU99A~8y`ds)$`{G8BH#XuI458`dHy~$*TmU|2ME7Ak7yYiuBL~jPD4XT;)Gmx&#qUuR9gZ#1uF5jU@>NY3ezr>?JM$lAV2uy zc!V(`kH^}3elL&7OxVKd;hrw+>o|*Ev2OcN&*ITFKi}0DE z9HvCpLM6{*kpXSHw4`75pI!K)UG~k%f7#4=*sT)>F%rWXzt-57)!{5hMKqY(UomAw zktPR6oNNT4+o?;>rB&|11Y+fK$25gq0rWYj77XWh;d< zd3YNw_LT@kHcjC+D2`1ZoV(rgwQ)Ug&I4AdGE!Ez*?}59S18Qh`6-MQAH&b(bii(c zlUJs;n({@Nh;3RAyek13^Ex?0J&J$jer0xL8cwdJb&K{haB=d_@wi7d0JvJT;Y_vZP3Gj;Qa2*N$`kBJ}4$_~Wnu5AWX_ zB3jycY_}nrur7b-V~7%=re*Wldg|8p`FV`Oa^y#8Qu)OgJjZT=PXJT(_m2n%?%;P_ zeXMQjIte0CFFz^a&)U^n*9Pe*etC zF1&&7=#jkqQeB<^&VOoGg{c?A+29F#<*3;`&NS;MGGay&ZU{kA!1+%K{uk~}<98z|M62|4 zJuIX=wO|y>@&NmP43qXxMs0;Fc`04hv3i+}xoK0}Tn>6ZR^uGxCX4HFK3GuTv7SqV zah!fF@9{+}w0zyVIzu=WX2!VOAX>~(yj2F5qs|w-V0-2$u5b1^gFPF;)w+bR^9tvd zSsE|{6w@trBck!YQ1>r;|Mn-8m(kAlW*|{bn|V9zmaok1kUN>^C_(7g#TTA>R|$IX z<*u)KP@7DaZ%i3hkOyC0j_6xiSyd%nJqi!KI9Tv}Hs4Gl<7Yy|m7(~&OY1JM`Gp+| z2;G^vIa20@4Gls`aD|L)YU+l&k&d+J9Zvjuht{j@a>Dwy)(s(VQP6~v=X*4KVF%Q> z|ECMjo+w1?zijk>T*xO*VQg7)5BPavN#h+oRIu|(!hS*=*OU78?bb+sA49qM z`d(?C*xYa1lkZ{&wn=<&4p~I>QWj%%?Hmyf)ZcR0D6*^y?o?i4rd6$D+BELsO z@hwx2V}K14LmS0-9B#1 zlKnw(^L5+E_b?*Gszh$Osx%Z3g@G$}&2RZ0Ao@h2g-@pSQi`@}GA~)Tt}i1@%%eii zprMYq>z5BLP}AP>C01D54AvxvG%39up`u(N2)oDHr%8*oEWtEkKDDqQoFH>&B{xke z_ee!iuQrAlvUVDRd<8FO0Y@sjnY>={qYT|re4f9dD!O{{yvPln^V$mAI$jG~yB!)V zY79=#FN&^ zyPi2Y7Iv5=g%2J{=lSs)74d!(LAW0-d7YV-j6z)=uNWD0*41Zc3n#Wg0#a=Nw z&j6~uo^;!OdU51L4)bBq5u3Xb(2=jiJy~FH*@ca{K6r7Jj$QYWKu&ms%^!64sC-}7 zY#lqYQ(j)0nDlz4)A+&6i`bmrRu=emie^0+?g*5{3q)Ij*E&IFvgzh%=Ji$xvxA_s zaBHA;7BoxftMkFm)?A~#nLBLe+PT?`TCu^9dV!2bSDuV)aN&J*m8jwyadBN0ya&?X z4aW+>sF_FFXPg6+Z(PFNKe~HRgl!AUFo09Q`yMhK5NP2+40!-=PygHvJcX5b&v!(m z`(i6ASzR4{Z5JY==jRCl-34qYg<_)1OPr^%#5L&6H!yET&r>52f#Guokt4OO?Sw0R z{5WBx*VTeAGUEb0EH@YOa}~K){53Z>uj4G$Y~}ir84+g5NxzxPs$?#BT0>?OQ$Biy zWN1w0(&ZN*WCs==m^LY;k}F0ouHYHf<|2i3_K`t4Q`bv|p~SiiP~rtn&4?39r0D5h z&Fd+!YQLSM$+n+1Pi$8Ktc!eFaGi_?ML?imw?sTw2?$`YqbT@0x8DJKPt9=kPMSxT zhI5@q_6Mw+T+FKL`(BPLo$qM^_k~AkE!Qsc>UIP?f*>wVICLxBc|q~*+seic#M*jRV!Ndfy>b8^}>fCCYhCt}5}i5{^7hIID(O4$eRXUnpX6(hD5 zOTb3({7-CT+kmM&xla3#cz|ErMOOBWMbvyb_#vmLm#M;gKqrB244O-17Q~Tw}Vf%kQfge4c6@TC5KY*vl#kOiUZ$QKQdqxfyZ_2OdcLDSwol!cB2x zD;U8}3wZ*`&oks*q33V6z6FGxp>}Pq9Z4uUKh90pPfjW_tv9301eXU?7VMQyj$HQl z4|mCE9GMy#b4GEvc_a19{+#TYjdT4zcgFr|e+PkJdT%z|n0?&`qi~;gxFN%hoxU}L zvnT58Y#>j``M99`>t}wCZ)S4?ru9+;?*Q?N7Nw=*U4yH6N-HDs9~9(`73wq(3<~$} zEEgB7@)Lac`c+`71Ma@{Ex&I(;QpEWD1m-DMlCj?EALI=0C%umrlW|3<2+NkS!wPV z$DRNi3HNY)9Pt_Fj8|v?xUG4=pziDpqwFe|H-naZuX90+!0CyQ=W$+zQBzxPMuJQm z`pyzYH@|<9i#zlX$fGNDdBudCqsW~&0GI1RT zS5`rf2N`VBUd1!8+vDs-C2XA6N~C-+-0!~2DF(&C3WwLcH$iu1?0kB9?TD@q`?!*0 zb9(Q@hT@eI0xK2aT>c>?O*^v5=(@7pCNII*(y2#(o@ajW$0~7}SKG`NfqM+yjwWe> z9DE+_ZKLTSdv|6rekv}Cj5;x#7p#mR5V~B`y71K5Ba%su^HlQsT+;2q(*^5|lc84U zxdWJ)w+%yiSy@Evt(tMd>Mxm%(_fP0ihatyB^fb?nXZVYeX)5p3Wek}GCoo@J2@EL zTx?nic(`JDeXvIDsP4&snHNe{%dm#`^HO0}gRFR0&^)Xlt7WWDv^egXFL zo-)KzKQ^xqmex&n!Z-t++55U1s;@~t>vOVjDd_`@mr8^j>G8js7{(z)J$z=Fb-sLw z9K!3E%|EsyqB`opBXgnw)QdGxFN!IZFIJ3f-N7^B@sJeaH%kWbi(4;!eglQJwVef= z?mN%_lFE9I5&&W!!Wp)2KUoheZ~CM1aS*xQ8I(e9f~~cd06%{_G=Wd|i5xS zgX$wx6)#>34F_5N$P*h&D9P)%!mB*x8)m_*KYFY<0~FlVP9xWMnXgA|j9!QbL7zRgD!qFRycxbD?iaX|K_4@agZ}- zCh;G=0FY>ObX+P?pIf(4Q2*;ik=AzYIRBL9<~%ds1~vh1FS61TQqke2uPQ@&95XfN z7RtWfN37noa6cTxsMwA=$-jR4AOBDLH7YmHVBu9;{}t>qqPDIsx%D?0LjP(g>ZbIP ztIQZhjtZz4)O1s#b=Je_K~HMP@w=s*y6*iTKimN^k3l8Pf5G2jSbL=Z4zOEoGV%O7QVokIm(+=rwa@ zpC{!D1b z;(~AHjZWz@McwqS(wLgnsEfMe7uaxf{b$nm{72lzWE(s`H{YrJwK+7tJyDRt*IfdS zh8E^a+YU6^4)R)B;I%bh)mk7A{10~b^WiP?+ZQgLHarX7DZp5a0;@YSJzcCDwYaiT zWU*m(z0myVpsuaQeSD`{;l%z-x0awyqm2-avQIs^^?{T zaO%t~>^aga=??}q<1RK*Wv-z@x{K!YmxDY9QkT3$>0UzgH#^6U>{%>&lV2O_-gvgT zogJ&X&+wsy;YRbm_W#VS*wPM1t1M*o+~O(4C^p~rIBkKQKwGREt*4!4x7@aSq5J1t z(;a8zV*?Ey2iyuat`-|X70zcX}FVZJ-t@$-?Y7Llsq!I8M?*~ z(g~J%Nh*{=1=bi8i=0coJsXK2Tyd7OG=~QRKF?xLIL? zxCJ*UuKlX}iV<&=-h7)@CN;h|j>!?fKxRf=CW$i!^Ud4R$9d2+(X*?7gP=TK$1 zE*vzGm#iqk;o6p}30B^fQ7X9~VsK?uDuj$*HlD*xD{6GcCdp?XZ>f$ilBXJF8h$kw z5$Me@Z%cXC$BU=I;AYr1!VVu*--xJleeBg5h zH-9Wbzif14_}H6axrE`cGh5(yn_7#mjhfQ=q&Jg#9Q5eodt9NobIjF1lBoPxJ;CW- z!o^;mJKSB!6%uzmKgnuor4e^ATB#X#nj3<+dWzsJ44yR1X;Z+}Zm4qX&f8=0UBd%% zmeC5p%D_I!WGQrq#}cOdzf6zbqoW%?;GgUw8yWNL761*3Vz^H2#nTD9f2 z^Pjor7u-kqRw8cKF7Z`cx-o!ix9tsB8mKmj^Pqr-$fixAT-}pUreh(F#5`QDG2j>P_X}Vp9y1c#*3>tPv7P z&!)~G${!NBZJoOQEnu6aS26a9br3n7)C{dk{4|6vX66Cs_SBBQ+Vzd~i}#PW#^_6D z-l?WL%Gjl@x!mjk05)?L|4sU=8UDw2$35F*OzVjB)3T$K4l24OK3ua7h%aN$ZC`A! z&s}Y7uTQR@CC#NXj#|EL<7UxZWSgBBZ=RfcDNtfzQyFSCrmNQ4%2Z#@slZe4qP$vqH5d=xTO-TkriC*LS1vGTPrFnn0}5EKv$Ydd*Q~gDf)f-vc-e=kjzql(a~3Gdh+M6 z$D%&%>>v-qEDj(g|1h_= z?%1Q?nO~Ke-*-5E&;EN@p~&IDp*TZsE~IWg$og>+Y{um#rH8gQio=w0B$bC+(@3QxBjJ5vybS(uD3wc!h{#< ztv%hhj#e1Hd#|HP`?PO83=Uax>rYH@D^E&DYK~mo;d(QZxpLv8khHx~0ANhYfke(n|i?pZF2^DfvP?X^AqsuaOl>6wJ5 zGthR6vyQeiy@;mk21{b~I7IcUfufcxxXWq;>mR#aB@NOeFU>8GqW-6|)&7Ja_?=3s zvRNF350wt#2Tf%EJxy~E7Ll5-~4B7I8JV0osO zuzRYYS?2r2FFXsz$Cqa-CNq&>&jPf8QV=0FsEP^>nvSDVotKY3`x#BIK*@!Z#sxS2U6{%|Be zV@Q*~%bk4wk7fSXdjEW3R1#gzY8J-B`yW340ct$a5xSj!^61~bnMyQE5SgRBl92cx zKBr3c=@R31!$J!D|Mks2w|tLLX|aFq5a1yt_dk7Z350oilS}?TeF!N2Nf6D;Sg9oO z=TiS6@&Bad@5TSU^Z%5Ff02*B#s2Rz|1UxIzevX43h!@i|9>T6kn-`jsr%c`|BIgZ z7l-9 + + + + + + + +LLM Judge Pairwise Evaluation SystemPool of LLM JudgesPairwiseSelectorllmcomparison_pairHumanEvaluatorsRankingAlgorithm
LLM Judges Leaderboard
+---------------------
+1. Judge C (0.95)
+2. Judge A (0.92)
+3. Judge B (0.89)
+   ...
+N. Judge X (0.75)
+
+
PromptLLM ResponseJudge AvsJudge B Draw Judges Generate Pair Input forEvaluation Evaluate Preferences GenerateRankings + + + + + + + + + + + + + + + + + + + + +
diff --git a/poetry.lock b/poetry.lock index 204962d..dd2f8ff 100644 --- a/poetry.lock +++ b/poetry.lock @@ -322,6 +322,20 @@ types-python-dateutil = ">=2.8.10" doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] +[[package]] +name = "asgiref" +version = "3.8.1" +description = "ASGI specs, helper code, and adapters" +optional = false +python-versions = ">=3.8" +files = [ + {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, + {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, +] + +[package.extras] +tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] + [[package]] name = "asttokens" version = "2.4.1" @@ -387,6 +401,17 @@ files = [ [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + [[package]] name = "bc-detect-secrets" version = "1.5.15" @@ -407,6 +432,44 @@ unidiff = "*" gibberish = ["gibberish-detector"] word-list = ["pyahocorasick"] +[[package]] +name = "bcrypt" +version = "4.2.1" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:1340411a0894b7d3ef562fb233e4b6ed58add185228650942bdc885362f32c17"}, + {file = "bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ee315739bc8387aa36ff127afc99120ee452924e0df517a8f3e4c0187a0f5f"}, + {file = "bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dbd0747208912b1e4ce730c6725cb56c07ac734b3629b60d4398f082ea718ad"}, + {file = "bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:aaa2e285be097050dba798d537b6efd9b698aa88eef52ec98d23dcd6d7cf6fea"}, + {file = "bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:76d3e352b32f4eeb34703370e370997065d28a561e4a18afe4fef07249cb4396"}, + {file = "bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7703ede632dc945ed1172d6f24e9f30f27b1b1a067f32f68bf169c5f08d0425"}, + {file = "bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:89df2aea2c43be1e1fa066df5f86c8ce822ab70a30e4c210968669565c0f4685"}, + {file = "bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:04e56e3fe8308a88b77e0afd20bec516f74aecf391cdd6e374f15cbed32783d6"}, + {file = "bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cfdf3d7530c790432046c40cda41dfee8c83e29482e6a604f8930b9930e94139"}, + {file = "bcrypt-4.2.1-cp37-abi3-win32.whl", hash = "sha256:adadd36274510a01f33e6dc08f5824b97c9580583bd4487c564fc4617b328005"}, + {file = "bcrypt-4.2.1-cp37-abi3-win_amd64.whl", hash = "sha256:8c458cd103e6c5d1d85cf600e546a639f234964d0228909d8f8dbeebff82d526"}, + {file = "bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:8ad2f4528cbf0febe80e5a3a57d7a74e6635e41af1ea5675282a33d769fba413"}, + {file = "bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:909faa1027900f2252a9ca5dfebd25fc0ef1417943824783d1c8418dd7d6df4a"}, + {file = "bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cde78d385d5e93ece5479a0a87f73cd6fa26b171c786a884f955e165032b262c"}, + {file = "bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:533e7f3bcf2f07caee7ad98124fab7499cb3333ba2274f7a36cf1daee7409d99"}, + {file = "bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:687cf30e6681eeda39548a93ce9bfbb300e48b4d445a43db4298d2474d2a1e54"}, + {file = "bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:041fa0155c9004eb98a232d54da05c0b41d4b8e66b6fc3cb71b4b3f6144ba837"}, + {file = "bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f85b1ffa09240c89aa2e1ae9f3b1c687104f7b2b9d2098da4e923f1b7082d331"}, + {file = "bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c6f5fa3775966cca251848d4d5393ab016b3afed251163c1436fefdec3b02c84"}, + {file = "bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:807261df60a8b1ccd13e6599c779014a362ae4e795f5c59747f60208daddd96d"}, + {file = "bcrypt-4.2.1-cp39-abi3-win32.whl", hash = "sha256:b588af02b89d9fad33e5f98f7838bf590d6d692df7153647724a7f20c186f6bf"}, + {file = "bcrypt-4.2.1-cp39-abi3-win_amd64.whl", hash = "sha256:e84e0e6f8e40a242b11bce56c313edc2be121cec3e0ec2d76fce01f6af33c07c"}, + {file = "bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76132c176a6d9953cdc83c296aeaed65e1a708485fd55abf163e0d9f8f16ce0e"}, + {file = "bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e158009a54c4c8bc91d5e0da80920d048f918c61a581f0a63e4e93bb556d362f"}, + {file = "bcrypt-4.2.1.tar.gz", hash = "sha256:6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -493,6 +556,40 @@ files = [ [package.dependencies] numpy = ">=1.19.3,<3.0.0" +[[package]] +name = "build" +version = "1.2.2.post1" +description = "A simple, correct Python build frontend" +optional = false +python-versions = ">=3.8" +files = [ + {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, + {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "os_name == \"nt\""} +packaging = ">=19.1" +pyproject_hooks = "*" + +[package.extras] +docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] +test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] +typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] +uv = ["uv (>=0.1.18)"] +virtualenv = ["virtualenv (>=20.0.35)"] + +[[package]] +name = "cachetools" +version = "5.5.0" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, +] + [[package]] name = "catalogue" version = "2.0.10" @@ -708,6 +805,88 @@ files = [ {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] +[[package]] +name = "chroma-hnswlib" +version = "0.7.6" +description = "Chromas fork of hnswlib" +optional = false +python-versions = "*" +files = [ + {file = "chroma_hnswlib-0.7.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f35192fbbeadc8c0633f0a69c3d3e9f1a4eab3a46b65458bbcbcabdd9e895c36"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f007b608c96362b8f0c8b6b2ac94f67f83fcbabd857c378ae82007ec92f4d82"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:456fd88fa0d14e6b385358515aef69fc89b3c2191706fd9aee62087b62aad09c"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dfaae825499c2beaa3b75a12d7ec713b64226df72a5c4097203e3ed532680da"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-win_amd64.whl", hash = "sha256:2487201982241fb1581be26524145092c95902cb09fc2646ccfbc407de3328ec"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:81181d54a2b1e4727369486a631f977ffc53c5533d26e3d366dda243fb0998ca"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4b4ab4e11f1083dd0a11ee4f0e0b183ca9f0f2ed63ededba1935b13ce2b3606f"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53db45cd9173d95b4b0bdccb4dbff4c54a42b51420599c32267f3abbeb795170"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c093f07a010b499c00a15bc9376036ee4800d335360570b14f7fe92badcdcf9"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-win_amd64.whl", hash = "sha256:0540b0ac96e47d0aa39e88ea4714358ae05d64bbe6bf33c52f316c664190a6a3"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e87e9b616c281bfbe748d01705817c71211613c3b063021f7ed5e47173556cb7"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ec5ca25bc7b66d2ecbf14502b5729cde25f70945d22f2aaf523c2d747ea68912"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305ae491de9d5f3c51e8bd52d84fdf2545a4a2bc7af49765cda286b7bb30b1d4"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:822ede968d25a2c88823ca078a58f92c9b5c4142e38c7c8b4c48178894a0a3c5"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2fe6ea949047beed19a94b33f41fe882a691e58b70c55fdaa90274ae78be046f"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feceff971e2a2728c9ddd862a9dd6eb9f638377ad98438876c9aeac96c9482f5"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb0633b60e00a2b92314d0bf5bbc0da3d3320be72c7e3f4a9b19f4609dc2b2ab"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-win_amd64.whl", hash = "sha256:a566abe32fab42291f766d667bdbfa234a7f457dcbd2ba19948b7a978c8ca624"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6be47853d9a58dedcfa90fc846af202b071f028bbafe1d8711bf64fe5a7f6111"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3a7af35bdd39a88bffa49f9bb4bf4f9040b684514a024435a1ef5cdff980579d"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a53b1f1551f2b5ad94eb610207bde1bb476245fc5097a2bec2b476c653c58bde"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3085402958dbdc9ff5626ae58d696948e715aef88c86d1e3f9285a88f1afd3bc"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-win_amd64.whl", hash = "sha256:77326f658a15adfb806a16543f7db7c45f06fd787d699e643642d6bde8ed49c4"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:93b056ab4e25adab861dfef21e1d2a2756b18be5bc9c292aa252fa12bb44e6ae"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe91f018b30452c16c811fd6c8ede01f84e5a9f3c23e0758775e57f1c3778871"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c0e627476f0f4d9e153420d36042dd9c6c3671cfd1fe511c0253e38c2a1039"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e9796a4536b7de6c6d76a792ba03e08f5aaa53e97e052709568e50b4d20c04f"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-win_amd64.whl", hash = "sha256:d30e2db08e7ffdcc415bd072883a322de5995eb6ec28a8f8c054103bbd3ec1e0"}, + {file = "chroma_hnswlib-0.7.6.tar.gz", hash = "sha256:4dce282543039681160259d29fcde6151cc9106c6461e0485f57cdccd83059b7"}, +] + +[package.dependencies] +numpy = "*" + +[[package]] +name = "chromadb" +version = "0.6.1" +description = "Chroma." +optional = false +python-versions = ">=3.9" +files = [ + {file = "chromadb-0.6.1-py3-none-any.whl", hash = "sha256:3483ea9e1271b647f3696e1f39ee9e464bb23a6a9913f42c57a84657c34467bb"}, + {file = "chromadb-0.6.1.tar.gz", hash = "sha256:af55d143fd887f344ff05cd40560566dda1dd13e90ec5a13fb0f5278eb8cde75"}, +] + +[package.dependencies] +bcrypt = ">=4.0.1" +build = ">=1.0.3" +chroma-hnswlib = "0.7.6" +fastapi = ">=0.95.2" +grpcio = ">=1.58.0" +httpx = ">=0.27.0" +importlib-resources = "*" +kubernetes = ">=28.1.0" +mmh3 = ">=4.0.1" +numpy = ">=1.22.5" +onnxruntime = ">=1.14.1" +opentelemetry-api = ">=1.2.0" +opentelemetry-exporter-otlp-proto-grpc = ">=1.2.0" +opentelemetry-instrumentation-fastapi = ">=0.41b0" +opentelemetry-sdk = ">=1.2.0" +orjson = ">=3.9.12" +overrides = ">=7.3.1" +posthog = ">=2.4.0" +pydantic = ">=1.9" +pypika = ">=0.48.9" +PyYAML = ">=6.0.0" +rich = ">=10.11.0" +tenacity = ">=8.2.3" +tokenizers = ">=0.13.2" +tqdm = ">=4.65.0" +typer = ">=0.9.0" +typing_extensions = ">=4.5.0" +uvicorn = {version = ">=0.18.3", extras = ["standard"]} + [[package]] name = "click" version = "8.1.7" @@ -772,6 +951,23 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] + [[package]] name = "comm" version = "0.2.2" @@ -1151,6 +1347,23 @@ files = [ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] +[[package]] +name = "deprecated" +version = "1.2.15" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +files = [ + {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, + {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] + [[package]] name = "dill" version = "0.3.7" @@ -1359,6 +1572,17 @@ files = [ {file = "docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"}, ] +[[package]] +name = "durationpy" +version = "0.9" +description = "Module for converting between datetime.timedelta and Go's Duration strings." +optional = false +python-versions = "*" +files = [ + {file = "durationpy-0.9-py3-none-any.whl", hash = "sha256:e65359a7af5cedad07fb77a2dd3f390f8eb0b74cb845589fa6c057086834dd38"}, + {file = "durationpy-0.9.tar.gz", hash = "sha256:fd3feb0a69a0057d582ef643c355c40d2fa1c942191f914d12203b1a01ac722a"}, +] + [[package]] name = "easyocr" version = "1.7.2" @@ -1471,6 +1695,26 @@ files = [ [package.dependencies] python-dateutil = ">=2.4" +[[package]] +name = "fastapi" +version = "0.115.6" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305"}, + {file = "fastapi-0.115.6.tar.gz", hash = "sha256:9ec46f7addc14ea472958a96aae5b5de65f39721a46aaf5705c480d9a8b76654"}, +] + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.40.0,<0.42.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] + [[package]] name = "fastjsonschema" version = "2.20.0" @@ -1512,6 +1756,17 @@ files = [ {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, ] +[[package]] +name = "flatbuffers" +version = "24.12.23" +description = "The FlatBuffers serialization format for Python" +optional = false +python-versions = "*" +files = [ + {file = "flatbuffers-24.12.23-py2.py3-none-any.whl", hash = "sha256:c418e0d48890f4142b92fd3e343e73a48f194e1f80075ddcc5793779b3585444"}, + {file = "flatbuffers-24.12.23.tar.gz", hash = "sha256:2910b0bc6ae9b6db78dd2b18d0b7a0709ba240fb5585f286a3a2b30785c22dac"}, +] + [[package]] name = "fonttools" version = "4.55.0" @@ -1816,6 +2071,47 @@ gitdb = ">=4.0.1,<5" doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] +[[package]] +name = "google-auth" +version = "2.37.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, + {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "googleapis-common-protos" +version = "1.66.0" +description = "Common protobufs used in Google APIs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, + {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, +] + +[package.dependencies] +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + [[package]] name = "greenlet" version = "3.1.1" @@ -1902,6 +2198,73 @@ files = [ docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] +[[package]] +name = "grpcio" +version = "1.68.1" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.8" +files = [ + {file = "grpcio-1.68.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:d35740e3f45f60f3c37b1e6f2f4702c23867b9ce21c6410254c9c682237da68d"}, + {file = "grpcio-1.68.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d99abcd61760ebb34bdff37e5a3ba333c5cc09feda8c1ad42547bea0416ada78"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f8261fa2a5f679abeb2a0a93ad056d765cdca1c47745eda3f2d87f874ff4b8c9"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0feb02205a27caca128627bd1df4ee7212db051019a9afa76f4bb6a1a80ca95e"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:919d7f18f63bcad3a0f81146188e90274fde800a94e35d42ffe9eadf6a9a6330"}, + {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:963cc8d7d79b12c56008aabd8b457f400952dbea8997dd185f155e2f228db079"}, + {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ccf2ebd2de2d6661e2520dae293298a3803a98ebfc099275f113ce1f6c2a80f1"}, + {file = "grpcio-1.68.1-cp310-cp310-win32.whl", hash = "sha256:2cc1fd04af8399971bcd4f43bd98c22d01029ea2e56e69c34daf2bf8470e47f5"}, + {file = "grpcio-1.68.1-cp310-cp310-win_amd64.whl", hash = "sha256:ee2e743e51cb964b4975de572aa8fb95b633f496f9fcb5e257893df3be854746"}, + {file = "grpcio-1.68.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:55857c71641064f01ff0541a1776bfe04a59db5558e82897d35a7793e525774c"}, + {file = "grpcio-1.68.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4b177f5547f1b995826ef529d2eef89cca2f830dd8b2c99ffd5fde4da734ba73"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:3522c77d7e6606d6665ec8d50e867f13f946a4e00c7df46768f1c85089eae515"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d1fae6bbf0816415b81db1e82fb3bf56f7857273c84dcbe68cbe046e58e1ccd"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298ee7f80e26f9483f0b6f94cc0a046caf54400a11b644713bb5b3d8eb387600"}, + {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cbb5780e2e740b6b4f2d208e90453591036ff80c02cc605fea1af8e6fc6b1bbe"}, + {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ddda1aa22495d8acd9dfbafff2866438d12faec4d024ebc2e656784d96328ad0"}, + {file = "grpcio-1.68.1-cp311-cp311-win32.whl", hash = "sha256:b33bd114fa5a83f03ec6b7b262ef9f5cac549d4126f1dc702078767b10c46ed9"}, + {file = "grpcio-1.68.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f20ebec257af55694d8f993e162ddf0d36bd82d4e57f74b31c67b3c6d63d8b2"}, + {file = "grpcio-1.68.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8829924fffb25386995a31998ccbbeaa7367223e647e0122043dfc485a87c666"}, + {file = "grpcio-1.68.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3aed6544e4d523cd6b3119b0916cef3d15ef2da51e088211e4d1eb91a6c7f4f1"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:4efac5481c696d5cb124ff1c119a78bddbfdd13fc499e3bc0ca81e95fc573684"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ab2d912ca39c51f46baf2a0d92aa265aa96b2443266fc50d234fa88bf877d8e"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c87ce2a97434dffe7327a4071839ab8e8bffd0054cc74cbe971fba98aedd60"}, + {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e4842e4872ae4ae0f5497bf60a0498fa778c192cc7a9e87877abd2814aca9475"}, + {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:255b1635b0ed81e9f91da4fcc8d43b7ea5520090b9a9ad9340d147066d1d3613"}, + {file = "grpcio-1.68.1-cp312-cp312-win32.whl", hash = "sha256:7dfc914cc31c906297b30463dde0b9be48e36939575eaf2a0a22a8096e69afe5"}, + {file = "grpcio-1.68.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0c8ddabef9c8f41617f213e527254c41e8b96ea9d387c632af878d05db9229c"}, + {file = "grpcio-1.68.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:a47faedc9ea2e7a3b6569795c040aae5895a19dde0c728a48d3c5d7995fda385"}, + {file = "grpcio-1.68.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:390eee4225a661c5cd133c09f5da1ee3c84498dc265fd292a6912b65c421c78c"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:66a24f3d45c33550703f0abb8b656515b0ab777970fa275693a2f6dc8e35f1c1"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c08079b4934b0bf0a8847f42c197b1d12cba6495a3d43febd7e99ecd1cdc8d54"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8720c25cd9ac25dd04ee02b69256d0ce35bf8a0f29e20577427355272230965a"}, + {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:04cfd68bf4f38f5bb959ee2361a7546916bd9a50f78617a346b3aeb2b42e2161"}, + {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c28848761a6520c5c6071d2904a18d339a796ebe6b800adc8b3f474c5ce3c3ad"}, + {file = "grpcio-1.68.1-cp313-cp313-win32.whl", hash = "sha256:77d65165fc35cff6e954e7fd4229e05ec76102d4406d4576528d3a3635fc6172"}, + {file = "grpcio-1.68.1-cp313-cp313-win_amd64.whl", hash = "sha256:a8040f85dcb9830d8bbb033ae66d272614cec6faceee88d37a88a9bd1a7a704e"}, + {file = "grpcio-1.68.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:eeb38ff04ab6e5756a2aef6ad8d94e89bb4a51ef96e20f45c44ba190fa0bcaad"}, + {file = "grpcio-1.68.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a3869a6661ec8f81d93f4597da50336718bde9eb13267a699ac7e0a1d6d0bea"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2c4cec6177bf325eb6faa6bd834d2ff6aa8bb3b29012cceb4937b86f8b74323c"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12941d533f3cd45d46f202e3667be8ebf6bcb3573629c7ec12c3e211d99cfccf"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80af6f1e69c5e68a2be529990684abdd31ed6622e988bf18850075c81bb1ad6e"}, + {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e8dbe3e00771bfe3d04feed8210fc6617006d06d9a2679b74605b9fed3e8362c"}, + {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:83bbf5807dc3ee94ce1de2dfe8a356e1d74101e4b9d7aa8c720cc4818a34aded"}, + {file = "grpcio-1.68.1-cp38-cp38-win32.whl", hash = "sha256:8cb620037a2fd9eeee97b4531880e439ebfcd6d7d78f2e7dcc3726428ab5ef63"}, + {file = "grpcio-1.68.1-cp38-cp38-win_amd64.whl", hash = "sha256:52fbf85aa71263380d330f4fce9f013c0798242e31ede05fcee7fbe40ccfc20d"}, + {file = "grpcio-1.68.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:cb400138e73969eb5e0535d1d06cae6a6f7a15f2cc74add320e2130b8179211a"}, + {file = "grpcio-1.68.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a1b988b40f2fd9de5c820f3a701a43339d8dcf2cb2f1ca137e2c02671cc83ac1"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:96f473cdacfdd506008a5d7579c9f6a7ff245a9ade92c3c0265eb76cc591914f"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:37ea3be171f3cf3e7b7e412a98b77685eba9d4fd67421f4a34686a63a65d99f9"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ceb56c4285754e33bb3c2fa777d055e96e6932351a3082ce3559be47f8024f0"}, + {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:dffd29a2961f3263a16d73945b57cd44a8fd0b235740cb14056f0612329b345e"}, + {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:025f790c056815b3bf53da850dd70ebb849fd755a4b1ac822cb65cd631e37d43"}, + {file = "grpcio-1.68.1-cp39-cp39-win32.whl", hash = "sha256:1098f03dedc3b9810810568060dea4ac0822b4062f537b0f53aa015269be0a76"}, + {file = "grpcio-1.68.1-cp39-cp39-win_amd64.whl", hash = "sha256:334ab917792904245a028f10e803fcd5b6f36a7b2173a820c0b5b076555825e1"}, + {file = "grpcio-1.68.1.tar.gz", hash = "sha256:44a8502dd5de653ae6a73e2de50a401d84184f0331d0ac3daeb044e66d5c5054"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.68.1)"] + [[package]] name = "h11" version = "0.14.0" @@ -1934,6 +2297,61 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] trio = ["trio (>=0.22.0,<1.0)"] +[[package]] +name = "httptools" +version = "0.6.4" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0"}, + {file = "httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da"}, + {file = "httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1"}, + {file = "httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50"}, + {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959"}, + {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4"}, + {file = "httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c"}, + {file = "httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069"}, + {file = "httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a"}, + {file = "httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975"}, + {file = "httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636"}, + {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721"}, + {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988"}, + {file = "httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17"}, + {file = "httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2"}, + {file = "httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44"}, + {file = "httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1"}, + {file = "httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2"}, + {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81"}, + {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f"}, + {file = "httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970"}, + {file = "httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660"}, + {file = "httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083"}, + {file = "httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3"}, + {file = "httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071"}, + {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5"}, + {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0"}, + {file = "httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8"}, + {file = "httptools-0.6.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d3f0d369e7ffbe59c4b6116a44d6a8eb4783aae027f2c0b366cf0aa964185dba"}, + {file = "httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:94978a49b8f4569ad607cd4946b759d90b285e39c0d4640c6b36ca7a3ddf2efc"}, + {file = "httptools-0.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40dc6a8e399e15ea525305a2ddba998b0af5caa2566bcd79dcbe8948181eeaff"}, + {file = "httptools-0.6.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab9ba8dcf59de5181f6be44a77458e45a578fc99c31510b8c65b7d5acc3cf490"}, + {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc411e1c0a7dcd2f902c7c48cf079947a7e65b5485dea9decb82b9105ca71a43"}, + {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d54efd20338ac52ba31e7da78e4a72570cf729fac82bc31ff9199bedf1dc7440"}, + {file = "httptools-0.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:df959752a0c2748a65ab5387d08287abf6779ae9165916fe053e68ae1fbdc47f"}, + {file = "httptools-0.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85797e37e8eeaa5439d33e556662cc370e474445d5fab24dcadc65a8ffb04003"}, + {file = "httptools-0.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:db353d22843cf1028f43c3651581e4bb49374d85692a85f95f7b9a130e1b2cab"}, + {file = "httptools-0.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ffd262a73d7c28424252381a5b854c19d9de5f56f075445d33919a637e3547"}, + {file = "httptools-0.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c346571fa50d2e9856a37d7cd9435a25e7fd15e236c397bf224afaa355fe9"}, + {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aafe0f1918ed07b67c1e838f950b1c1fabc683030477e60b335649b8020e1076"}, + {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0e563e54979e97b6d13f1bbc05a96109923e76b901f786a5eae36e99c01237bd"}, + {file = "httptools-0.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:b799de31416ecc589ad79dd85a0b2657a8fe39327944998dea368c1d4c9e55e6"}, + {file = "httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c"}, +] + +[package.extras] +test = ["Cython (>=0.29.24)"] + [[package]] name = "httpx" version = "0.27.2" @@ -1993,6 +2411,20 @@ testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gr torch = ["safetensors[torch]", "torch"] typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} + [[package]] name = "idna" version = "3.10" @@ -2074,6 +2506,25 @@ perf = ["ipython"] test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] +[[package]] +name = "importlib-resources" +version = "6.5.2" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.9" +files = [ + {file = "importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec"}, + {file = "importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] + [[package]] name = "insipid-sphinx-theme" version = "0.4.2" @@ -2784,6 +3235,33 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] +[[package]] +name = "kubernetes" +version = "31.0.0" +description = "Kubernetes python client" +optional = false +python-versions = ">=3.6" +files = [ + {file = "kubernetes-31.0.0-py2.py3-none-any.whl", hash = "sha256:bf141e2d380c8520eada8b351f4e319ffee9636328c137aa432bc486ca1200e1"}, + {file = "kubernetes-31.0.0.tar.gz", hash = "sha256:28945de906c8c259c1ebe62703b56a03b714049372196f854105afe4e6d014c0"}, +] + +[package.dependencies] +certifi = ">=14.05.14" +durationpy = ">=0.7" +google-auth = ">=1.0.1" +oauthlib = ">=3.2.2" +python-dateutil = ">=2.5.3" +pyyaml = ">=5.4.1" +requests = "*" +requests-oauthlib = "*" +six = ">=1.9.0" +urllib3 = ">=1.24.2" +websocket-client = ">=0.32.0,<0.40.0 || >0.40.0,<0.41.dev0 || >=0.43.dev0" + +[package.extras] +adal = ["adal (>=1.0.2)"] + [[package]] name = "langcodes" version = "3.5.0" @@ -3657,6 +4135,130 @@ files = [ {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] +[[package]] +name = "mmh3" +version = "5.0.1" +description = "Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions." +optional = false +python-versions = ">=3.8" +files = [ + {file = "mmh3-5.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f0a4b4bf05778ed77d820d6e7d0e9bd6beb0c01af10e1ce9233f5d2f814fcafa"}, + {file = "mmh3-5.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac7a391039aeab95810c2d020b69a94eb6b4b37d4e2374831e92db3a0cdf71c6"}, + {file = "mmh3-5.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3a2583b5521ca49756d8d8bceba80627a9cc295f255dcab4e3df7ccc2f09679a"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:081a8423fe53c1ac94f87165f3e4c500125d343410c1a0c5f1703e898a3ef038"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8b4d72713799755dc8954a7d36d5c20a6c8de7b233c82404d122c7c7c1707cc"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:389a6fd51efc76d3182d36ec306448559c1244f11227d2bb771bdd0e6cc91321"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39f4128edaa074bff721b1d31a72508cba4d2887ee7867f22082e1fe9d4edea0"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5d23a94d91aabba3386b3769048d5f4210fdfef80393fece2f34ba5a7b466c"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:16347d038361f8b8f24fd2b7ef378c9b68ddee9f7706e46269b6e0d322814713"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6e299408565af7d61f2d20a5ffdd77cf2ed902460fe4e6726839d59ba4b72316"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42050af21ddfc5445ee5a66e73a8fc758c71790305e3ee9e4a85a8e69e810f94"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2ae9b1f5ef27ec54659920f0404b7ceb39966e28867c461bfe83a05e8d18ddb0"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:50c2495a02045f3047d71d4ae9cdd7a15efc0bcbb7ff17a18346834a8e2d1d19"}, + {file = "mmh3-5.0.1-cp310-cp310-win32.whl", hash = "sha256:c028fa77cddf351ca13b4a56d43c1775652cde0764cadb39120b68f02a23ecf6"}, + {file = "mmh3-5.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:c5e741e421ec14400c4aae30890515c201f518403bdef29ae1e00d375bb4bbb5"}, + {file = "mmh3-5.0.1-cp310-cp310-win_arm64.whl", hash = "sha256:b17156d56fabc73dbf41bca677ceb6faed435cc8544f6566d72ea77d8a17e9d0"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a6d5a9b1b923f1643559ba1fc0bf7a5076c90cbb558878d3bf3641ce458f25d"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3349b968be555f7334bbcce839da98f50e1e80b1c615d8e2aa847ea4a964a012"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1bd3c94b110e55db02ab9b605029f48a2f7f677c6e58c09d44e42402d438b7e1"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47ba84d48608f79adbb10bb09986b6dc33eeda5c2d1bd75d00820081b73bde9"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c0217987a8b8525c8d9170f66d036dec4ab45cfbd53d47e8d76125791ceb155e"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2797063a34e78d1b61639a98b0edec1c856fa86ab80c7ec859f1796d10ba429"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8bba16340adcbd47853a2fbe5afdb397549e8f2e79324ff1dced69a3f8afe7c3"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:282797957c9f60b51b9d768a602c25f579420cc9af46feb77d457a27823d270a"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e4fb670c29e63f954f9e7a2cdcd57b36a854c2538f579ef62681ccbaa1de2b69"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ee7d85438dc6aff328e19ab052086a3c29e8a9b632998a49e5c4b0034e9e8d6"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b7fb5db231f3092444bc13901e6a8d299667126b00636ffbad4a7b45e1051e2f"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c100dd441703da5ec136b1d9003ed4a041d8a1136234c9acd887499796df6ad8"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71f3b765138260fd7a7a2dba0ea5727dabcd18c1f80323c9cfef97a7e86e01d0"}, + {file = "mmh3-5.0.1-cp311-cp311-win32.whl", hash = "sha256:9a76518336247fd17689ce3ae5b16883fd86a490947d46a0193d47fb913e26e3"}, + {file = "mmh3-5.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:336bc4df2e44271f1c302d289cc3d78bd52d3eed8d306c7e4bff8361a12bf148"}, + {file = "mmh3-5.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:af6522722fbbc5999aa66f7244d0986767a46f1fb05accc5200f75b72428a508"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f2730bb263ed9c388e8860438b057a53e3cc701134a6ea140f90443c4c11aa40"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6246927bc293f6d56724536400b85fb85f5be26101fa77d5f97dd5e2a4c69bf2"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fbca322519a6e6e25b6abf43e940e1667cf8ea12510e07fb4919b48a0cd1c411"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eae8c19903ed8a1724ad9e67e86f15d198a7a1271a4f9be83d47e38f312ed672"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a09fd6cc72c07c0c07c3357714234b646d78052487c4a3bd5f7f6e08408cff60"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ff8551fee7ae3b11c5d986b6347ade0dccaadd4670ffdb2b944dee120ffcc84"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e39694c73a5a20c8bf36dfd8676ed351e5234d55751ba4f7562d85449b21ef3f"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba6001989a92f72a89c7cf382fda831678bd780707a66b4f8ca90239fdf2123"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0771f90c9911811cc606a5c7b7b58f33501c9ee896ed68a6ac22c7d55878ecc0"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:09b31ed0c0c0920363e96641fac4efde65b1ab62b8df86293142f35a254e72b4"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5cf4a8deda0235312db12075331cb417c4ba163770edfe789bde71d08a24b692"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:41f7090a95185ef20ac018581a99337f0cbc84a2135171ee3290a9c0d9519585"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b97b5b368fb7ff22194ec5854f5b12d8de9ab67a0f304728c7f16e5d12135b76"}, + {file = "mmh3-5.0.1-cp312-cp312-win32.whl", hash = "sha256:842516acf04da546f94fad52db125ee619ccbdcada179da51c326a22c4578cb9"}, + {file = "mmh3-5.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:d963be0dbfd9fca209c17172f6110787ebf78934af25e3694fe2ba40e55c1e2b"}, + {file = "mmh3-5.0.1-cp312-cp312-win_arm64.whl", hash = "sha256:a5da292ceeed8ce8e32b68847261a462d30fd7b478c3f55daae841404f433c15"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:673e3f1c8d4231d6fb0271484ee34cb7146a6499fc0df80788adb56fd76842da"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f795a306bd16a52ad578b663462cc8e95500b3925d64118ae63453485d67282b"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5ed57a5e28e502a1d60436cc25c76c3a5ba57545f250f2969af231dc1221e0a5"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:632c28e7612e909dbb6cbe2fe496201ada4695b7715584005689c5dc038e59ad"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53fd6bd525a5985e391c43384672d9d6b317fcb36726447347c7fc75bfed34ec"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dceacf6b0b961a0e499836af3aa62d60633265607aef551b2a3e3c48cdaa5edd"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f0738d478fdfb5d920f6aff5452c78f2c35b0eff72caa2a97dfe38e82f93da2"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e70285e7391ab88b872e5bef632bad16b9d99a6d3ca0590656a4753d55988af"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:27e5fc6360aa6b828546a4318da1a7da6bf6e5474ccb053c3a6aa8ef19ff97bd"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7989530c3c1e2c17bf5a0ec2bba09fd19819078ba90beedabb1c3885f5040b0d"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:cdad7bee649950da7ecd3cbbbd12fb81f1161072ecbdb5acfa0018338c5cb9cf"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e143b8f184c1bb58cecd85ab4a4fd6dc65a2d71aee74157392c3fddac2a4a331"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5eb12e886f3646dd636f16b76eb23fc0c27e8ff3c1ae73d4391e50ef60b40f6"}, + {file = "mmh3-5.0.1-cp313-cp313-win32.whl", hash = "sha256:16e6dddfa98e1c2d021268e72c78951234186deb4df6630e984ac82df63d0a5d"}, + {file = "mmh3-5.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:d3ffb792d70b8c4a2382af3598dad6ae0c5bd9cee5b7ffcc99aa2f5fd2c1bf70"}, + {file = "mmh3-5.0.1-cp313-cp313-win_arm64.whl", hash = "sha256:122fa9ec148383f9124292962bda745f192b47bfd470b2af5fe7bb3982b17896"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b12bad8c75e6ff5d67319794fb6a5e8c713826c818d47f850ad08b4aa06960c6"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e5bbb066538c1048d542246fc347bb7994bdda29a3aea61c22f9f8b57111ce69"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eee6134273f64e2a106827cc8fd77e70cc7239a285006fc6ab4977d59b015af2"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d04d9aa19d48e4c7bbec9cabc2c4dccc6ff3b2402f856d5bf0de03e10f167b5b"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79f37da1eed034d06567a69a7988456345c7f29e49192831c3975b464493b16e"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:242f77666743337aa828a2bf2da71b6ba79623ee7f93edb11e009f69237c8561"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffd943fff690463945f6441a2465555b3146deaadf6a5e88f2590d14c655d71b"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565b15f8d7df43acb791ff5a360795c20bfa68bca8b352509e0fbabd06cc48cd"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc6aafb867c2030df98ac7760ff76b500359252867985f357bd387739f3d5287"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:32898170644d45aa27c974ab0d067809c066205110f5c6d09f47d9ece6978bfe"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:42865567838d2193eb64e0ef571f678bf361a254fcdef0c5c8e73243217829bd"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5ff5c1f301c4a8b6916498969c0fcc7e3dbc56b4bfce5cfe3fe31f3f4609e5ae"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:be74c2dda8a6f44a504450aa2c3507f8067a159201586fc01dd41ab80efc350f"}, + {file = "mmh3-5.0.1-cp38-cp38-win32.whl", hash = "sha256:5610a842621ff76c04b20b29cf5f809b131f241a19d4937971ba77dc99a7f330"}, + {file = "mmh3-5.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:de15739ac50776fe8aa1ef13f1be46a6ee1fbd45f6d0651084097eb2be0a5aa4"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e84cf3cc7e8c41bc07de72299a73b92d9e3cde51d97851420055b1484995f7"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd9dc28c2d168c49928195c2e29b96f9582a5d07bd690a28aede4cc07b0e696"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2771a1c56a3d4bdad990309cff5d0a8051f29c8ec752d001f97d6392194ae880"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5ff2a8322ba40951a84411550352fba1073ce1c1d1213bb7530f09aed7f8caf"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a16bd3ec90682c9e0a343e6bd4c778c09947c8c5395cdb9e5d9b82b2559efbca"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d45733a78d68b5b05ff4a823aea51fa664df1d3bf4929b152ff4fd6dea2dd69b"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:904285e83cedebc8873b0838ed54c20f7344120be26e2ca5a907ab007a18a7a0"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac4aeb1784e43df728034d0ed72e4b2648db1a69fef48fa58e810e13230ae5ff"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cb3d4f751a0b8b4c8d06ef1c085216c8fddcc8b8c8d72445976b5167a40c6d1e"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8021851935600e60c42122ed1176399d7692df338d606195cd599d228a04c1c6"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:6182d5924a5efc451900f864cbb021d7e8ad5d524816ca17304a0f663bc09bb5"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:5f30b834552a4f79c92e3d266336fb87fd92ce1d36dc6813d3e151035890abbd"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cd4383f35e915e06d077df27e04ffd3be7513ec6a9de2d31f430393f67e192a7"}, + {file = "mmh3-5.0.1-cp39-cp39-win32.whl", hash = "sha256:1455fb6b42665a97db8fc66e89a861e52b567bce27ed054c47877183f86ea6e3"}, + {file = "mmh3-5.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:9e26a0f4eb9855a143f5938a53592fa14c2d3b25801c2106886ab6c173982780"}, + {file = "mmh3-5.0.1-cp39-cp39-win_arm64.whl", hash = "sha256:0d0a35a69abdad7549c4030a714bb4ad07902edb3bbe61e1bbc403ded5d678be"}, + {file = "mmh3-5.0.1.tar.gz", hash = "sha256:7dab080061aeb31a6069a181f27c473a1f67933854e36a3464931f2716508896"}, +] + +[package.extras] +benchmark = ["pymmh3 (==0.0.5)", "pyperf (==2.7.0)", "xxhash (==3.5.0)"] +docs = ["myst-parser (==4.0.0)", "shibuya (==2024.8.30)", "sphinx (==8.0.2)", "sphinx-copybutton (==0.5.2)"] +lint = ["black (==24.8.0)", "clang-format (==18.1.8)", "isort (==5.13.2)", "pylint (==3.2.7)"] +plot = ["matplotlib (==3.9.2)", "pandas (==2.2.2)"] +test = ["pytest (==8.3.3)", "pytest-sugar (==1.0.0)"] +type = ["mypy (==1.11.2)"] + +[[package]] +name = "monotonic" +version = "1.6" +description = "An implementation of time.monotonic() for Python 2 & < 3.3" +optional = false +python-versions = "*" +files = [ + {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, + {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, +] + [[package]] name = "mpire" version = "2.10.2" @@ -4389,6 +4991,22 @@ files = [ {file = "nvidia_nvtx_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:641dccaaa1139f3ffb0d3164b4b84f9d253397e38246a4f2f36728b48566d485"}, ] +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + [[package]] name = "oldest-supported-numpy" version = "2022.1.30" @@ -4460,6 +5078,44 @@ files = [ httpx = ">=0.27.0,<0.28.0" pydantic = ">=2.9.0,<3.0.0" +[[package]] +name = "onnxruntime" +version = "1.20.1" +description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +optional = false +python-versions = "*" +files = [ + {file = "onnxruntime-1.20.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:e50ba5ff7fed4f7d9253a6baf801ca2883cc08491f9d32d78a80da57256a5439"}, + {file = "onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b2908b50101a19e99c4d4e97ebb9905561daf61829403061c1adc1b588bc0de"}, + {file = "onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d82daaec24045a2e87598b8ac2b417b1cce623244e80e663882e9fe1aae86410"}, + {file = "onnxruntime-1.20.1-cp310-cp310-win32.whl", hash = "sha256:4c4b251a725a3b8cf2aab284f7d940c26094ecd9d442f07dd81ab5470e99b83f"}, + {file = "onnxruntime-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:d3b616bb53a77a9463707bb313637223380fc327f5064c9a782e8ec69c22e6a2"}, + {file = "onnxruntime-1.20.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:06bfbf02ca9ab5f28946e0f912a562a5f005301d0c419283dc57b3ed7969bb7b"}, + {file = "onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6243e34d74423bdd1edf0ae9596dd61023b260f546ee17d701723915f06a9f7"}, + {file = "onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5eec64c0269dcdb8d9a9a53dc4d64f87b9e0c19801d9321246a53b7eb5a7d1bc"}, + {file = "onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41"}, + {file = "onnxruntime-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:8508887eb1c5f9537a4071768723ec7c30c28eb2518a00d0adcd32c89dea3221"}, + {file = "onnxruntime-1.20.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:22b0655e2bf4f2161d52706e31f517a0e54939dc393e92577df51808a7edc8c9"}, + {file = "onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f56e898815963d6dc4ee1c35fc6c36506466eff6d16f3cb9848cea4e8c8172"}, + {file = "onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb71a814f66517a65628c9e4a2bb530a6edd2cd5d87ffa0af0f6f773a027d99e"}, + {file = "onnxruntime-1.20.1-cp312-cp312-win32.whl", hash = "sha256:bd386cc9ee5f686ee8a75ba74037750aca55183085bf1941da8efcfe12d5b120"}, + {file = "onnxruntime-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:19c2d843eb074f385e8bbb753a40df780511061a63f9def1b216bf53860223fb"}, + {file = "onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc"}, + {file = "onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be"}, + {file = "onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3"}, + {file = "onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16"}, + {file = "onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8"}, + {file = "onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b"}, +] + +[package.dependencies] +coloredlogs = "*" +flatbuffers = "*" +numpy = ">=1.21.6" +packaging = "*" +protobuf = "*" +sympy = "*" + [[package]] name = "openai" version = "1.54.4" @@ -4520,6 +5176,170 @@ files = [ [package.dependencies] et-xmlfile = "*" +[[package]] +name = "opentelemetry-api" +version = "1.29.0" +description = "OpenTelemetry Python API" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_api-1.29.0-py3-none-any.whl", hash = "sha256:5fcd94c4141cc49c736271f3e1efb777bebe9cc535759c54c936cca4f1b312b8"}, + {file = "opentelemetry_api-1.29.0.tar.gz", hash = "sha256:d04a6cf78aad09614f52964ecb38021e248f5714dc32c2e0d8fd99517b4d69cf"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +importlib-metadata = ">=6.0,<=8.5.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.29.0" +description = "OpenTelemetry Protobuf encoding" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_exporter_otlp_proto_common-1.29.0-py3-none-any.whl", hash = "sha256:a9d7376c06b4da9cf350677bcddb9618ed4b8255c3f6476975f5e38274ecd3aa"}, + {file = "opentelemetry_exporter_otlp_proto_common-1.29.0.tar.gz", hash = "sha256:e7c39b5dbd1b78fe199e40ddfe477e6983cb61aa74ba836df09c3869a3e3e163"}, +] + +[package.dependencies] +opentelemetry-proto = "1.29.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.29.0" +description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_exporter_otlp_proto_grpc-1.29.0-py3-none-any.whl", hash = "sha256:5a2a3a741a2543ed162676cf3eefc2b4150e6f4f0a193187afb0d0e65039c69c"}, + {file = "opentelemetry_exporter_otlp_proto_grpc-1.29.0.tar.gz", hash = "sha256:3d324d07d64574d72ed178698de3d717f62a059a93b6b7685ee3e303384e73ea"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +googleapis-common-protos = ">=1.52,<2.0" +grpcio = ">=1.63.2,<2.0.0" +opentelemetry-api = ">=1.15,<2.0" +opentelemetry-exporter-otlp-proto-common = "1.29.0" +opentelemetry-proto = "1.29.0" +opentelemetry-sdk = ">=1.29.0,<1.30.0" + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.50b0" +description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation-0.50b0-py3-none-any.whl", hash = "sha256:b8f9fc8812de36e1c6dffa5bfc6224df258841fb387b6dfe5df15099daa10630"}, + {file = "opentelemetry_instrumentation-0.50b0.tar.gz", hash = "sha256:7d98af72de8dec5323e5202e46122e5f908592b22c6d24733aad619f07d82979"}, +] + +[package.dependencies] +opentelemetry-api = ">=1.4,<2.0" +opentelemetry-semantic-conventions = "0.50b0" +packaging = ">=18.0" +wrapt = ">=1.0.0,<2.0.0" + +[[package]] +name = "opentelemetry-instrumentation-asgi" +version = "0.50b0" +description = "ASGI instrumentation for OpenTelemetry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation_asgi-0.50b0-py3-none-any.whl", hash = "sha256:2ba1297f746e55dec5a17fe825689da0613662fb25c004c3965a6c54b1d5be22"}, + {file = "opentelemetry_instrumentation_asgi-0.50b0.tar.gz", hash = "sha256:3ca4cb5616ae6a3e8ce86e7d5c360a8d8cc8ed722cf3dc8a5e44300774e87d49"}, +] + +[package.dependencies] +asgiref = ">=3.0,<4.0" +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-instrumentation = "0.50b0" +opentelemetry-semantic-conventions = "0.50b0" +opentelemetry-util-http = "0.50b0" + +[package.extras] +instruments = ["asgiref (>=3.0,<4.0)"] + +[[package]] +name = "opentelemetry-instrumentation-fastapi" +version = "0.50b0" +description = "OpenTelemetry FastAPI Instrumentation" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation_fastapi-0.50b0-py3-none-any.whl", hash = "sha256:8f03b738495e4705fbae51a2826389c7369629dace89d0f291c06ffefdff5e52"}, + {file = "opentelemetry_instrumentation_fastapi-0.50b0.tar.gz", hash = "sha256:16b9181682136da210295def2bb304a32fb9bdee9a935cdc9da43567f7c1149e"}, +] + +[package.dependencies] +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-instrumentation = "0.50b0" +opentelemetry-instrumentation-asgi = "0.50b0" +opentelemetry-semantic-conventions = "0.50b0" +opentelemetry-util-http = "0.50b0" + +[package.extras] +instruments = ["fastapi (>=0.58,<1.0)"] + +[[package]] +name = "opentelemetry-proto" +version = "1.29.0" +description = "OpenTelemetry Python Proto" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_proto-1.29.0-py3-none-any.whl", hash = "sha256:495069c6f5495cbf732501cdcd3b7f60fda2b9d3d4255706ca99b7ca8dec53ff"}, + {file = "opentelemetry_proto-1.29.0.tar.gz", hash = "sha256:3c136aa293782e9b44978c738fff72877a4b78b5d21a64e879898db7b2d93e5d"}, +] + +[package.dependencies] +protobuf = ">=5.0,<6.0" + +[[package]] +name = "opentelemetry-sdk" +version = "1.29.0" +description = "OpenTelemetry Python SDK" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_sdk-1.29.0-py3-none-any.whl", hash = "sha256:173be3b5d3f8f7d671f20ea37056710217959e774e2749d984355d1f9391a30a"}, + {file = "opentelemetry_sdk-1.29.0.tar.gz", hash = "sha256:b0787ce6aade6ab84315302e72bd7a7f2f014b0fb1b7c3295b88afe014ed0643"}, +] + +[package.dependencies] +opentelemetry-api = "1.29.0" +opentelemetry-semantic-conventions = "0.50b0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.50b0" +description = "OpenTelemetry Semantic Conventions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl", hash = "sha256:e87efba8fdb67fb38113efea6a349531e75ed7ffc01562f65b802fcecb5e115e"}, + {file = "opentelemetry_semantic_conventions-0.50b0.tar.gz", hash = "sha256:02dc6dbcb62f082de9b877ff19a3f1ffaa3c306300fa53bfac761c4567c83d38"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +opentelemetry-api = "1.29.0" + +[[package]] +name = "opentelemetry-util-http" +version = "0.50b0" +description = "Web util for OpenTelemetry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_util_http-0.50b0-py3-none-any.whl", hash = "sha256:21f8aedac861ffa3b850f8c0a6c373026189eb8630ac6e14a2bf8c55695cc090"}, + {file = "opentelemetry_util_http-0.50b0.tar.gz", hash = "sha256:dc4606027e1bc02aabb9533cc330dd43f874fca492e4175c31d7154f341754af"}, +] + [[package]] name = "orjson" version = "3.10.12" @@ -5028,6 +5848,29 @@ docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-a test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] type = ["mypy (>=1.11.2)"] +[[package]] +name = "posthog" +version = "3.7.5" +description = "Integrate PostHog into any python application." +optional = false +python-versions = "*" +files = [ + {file = "posthog-3.7.5-py2.py3-none-any.whl", hash = "sha256:022132c17069dde03c5c5904e2ae1b9bd68d5059cbc5a8dffc5c1537a1b71cb5"}, + {file = "posthog-3.7.5.tar.gz", hash = "sha256:8ba40ab623da35db72715fc87fe7dccb7fc272ced92581fe31db2d4dbe7ad761"}, +] + +[package.dependencies] +backoff = ">=1.10.0" +monotonic = ">=1.5" +python-dateutil = ">2.1" +requests = ">=2.7,<3.0" +six = ">=1.5" + +[package.extras] +dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] +sentry = ["django", "sentry-sdk"] +test = ["coverage", "django", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] + [[package]] name = "preshed" version = "3.0.9" @@ -5244,6 +6087,26 @@ files = [ {file = "propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70"}, ] +[[package]] +name = "protobuf" +version = "5.29.2" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-5.29.2-cp310-abi3-win32.whl", hash = "sha256:c12ba8249f5624300cf51c3d0bfe5be71a60c63e4dcf51ffe9a68771d958c851"}, + {file = "protobuf-5.29.2-cp310-abi3-win_amd64.whl", hash = "sha256:842de6d9241134a973aab719ab42b008a18a90f9f07f06ba480df268f86432f9"}, + {file = "protobuf-5.29.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a0c53d78383c851bfa97eb42e3703aefdc96d2036a41482ffd55dc5f529466eb"}, + {file = "protobuf-5.29.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:494229ecd8c9009dd71eda5fd57528395d1eacdf307dbece6c12ad0dd09e912e"}, + {file = "protobuf-5.29.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:b6b0d416bbbb9d4fbf9d0561dbfc4e324fd522f61f7af0fe0f282ab67b22477e"}, + {file = "protobuf-5.29.2-cp38-cp38-win32.whl", hash = "sha256:e621a98c0201a7c8afe89d9646859859be97cb22b8bf1d8eacfd90d5bda2eb19"}, + {file = "protobuf-5.29.2-cp38-cp38-win_amd64.whl", hash = "sha256:13d6d617a2a9e0e82a88113d7191a1baa1e42c2cc6f5f1398d3b054c8e7e714a"}, + {file = "protobuf-5.29.2-cp39-cp39-win32.whl", hash = "sha256:36000f97ea1e76e8398a3f02936aac2a5d2b111aae9920ec1b769fc4a222c4d9"}, + {file = "protobuf-5.29.2-cp39-cp39-win_amd64.whl", hash = "sha256:2d2e674c58a06311c8e99e74be43e7f3a8d1e2b2fdf845eaa347fbd866f23355"}, + {file = "protobuf-5.29.2-py3-none-any.whl", hash = "sha256:fde4554c0e578a5a0bcc9a276339594848d1e89f9ea47b4427c80e5d72f90181"}, + {file = "protobuf-5.29.2.tar.gz", hash = "sha256:b2cc8e8bb7c9326996f0e160137b0861f1a82162502658df2951209d0cb0309e"}, +] + [[package]] name = "psutil" version = "6.1.0" @@ -5364,6 +6227,31 @@ files = [ [package.extras] test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] +[[package]] +name = "pyasn1" +version = "0.6.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, +] + +[[package]] +name = "pyasn1-modules" +version = "0.4.1" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.7.0" + [[package]] name = "pybtex" version = "0.24.0" @@ -5760,6 +6648,41 @@ files = [ {file = "pypdfium2-4.30.1.tar.gz", hash = "sha256:5f5c7c6d03598e107d974f66b220a49436aceb191da34cda5f692be098a814ce"}, ] +[[package]] +name = "pypika" +version = "0.48.9" +description = "A SQL query builder API for Python" +optional = false +python-versions = "*" +files = [ + {file = "PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, +] + +[[package]] +name = "pyproject-hooks" +version = "1.2.0" +description = "Wrappers to call pyproject.toml-based build backend hooks." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, + {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, +] + +[[package]] +name = "pyreadline3" +version = "3.5.4" +description = "A python implementation of GNU readline." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6"}, + {file = "pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7"}, +] + +[package.extras] +dev = ["build", "flake8", "mypy", "pytest", "twine"] + [[package]] name = "python-bidi" version = "0.6.3" @@ -6452,6 +7375,24 @@ files = [ [package.dependencies] requests = ">=1.0.0" +[[package]] +name = "requests-oauthlib" +version = "2.0.0" +description = "OAuthlib authentication support for Requests." +optional = false +python-versions = ">=3.4" +files = [ + {file = "requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"}, + {file = "requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36"}, +] + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + [[package]] name = "requests-toolbelt" version = "1.0.0" @@ -6624,6 +7565,20 @@ files = [ {file = "rpds_py-0.21.0.tar.gz", hash = "sha256:ed6378c9d66d0de903763e7706383d60c33829581f0adff47b6535f1802fa6db"}, ] +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + [[package]] name = "rtree" version = "1.3.0" @@ -6827,6 +7782,60 @@ docs = ["PyWavelets (>=1.6)", "dask[array] (>=2022.9.2)", "intersphinx-registry optional = ["PyWavelets (>=1.6)", "SimpleITK", "astropy (>=5.0)", "cloudpickle (>=0.2.1)", "dask[array] (>=2021.1.0,!=2024.8.0)", "matplotlib (>=3.7)", "pooch (>=1.6.0)", "pyamg (>=5.2)", "scikit-learn (>=1.2)"] test = ["asv", "numpydoc (>=1.7)", "pooch (>=1.6.0)", "pytest (>=7.0)", "pytest-cov (>=2.11.0)", "pytest-doctestplus", "pytest-faulthandler", "pytest-localserver"] +[[package]] +name = "scikit-learn" +version = "1.6.0" +description = "A set of python modules for machine learning and data mining" +optional = false +python-versions = ">=3.9" +files = [ + {file = "scikit_learn-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:366fb3fa47dce90afed3d6106183f4978d6f24cfd595c2373424171b915ee718"}, + {file = "scikit_learn-1.6.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:59cd96a8d9f8dfd546f5d6e9787e1b989e981388d7803abbc9efdcde61e47460"}, + {file = "scikit_learn-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efa7a579606c73a0b3d210e33ea410ea9e1af7933fe324cb7e6fbafae4ea5948"}, + {file = "scikit_learn-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a46d3ca0f11a540b8eaddaf5e38172d8cd65a86cb3e3632161ec96c0cffb774c"}, + {file = "scikit_learn-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:5be4577769c5dde6e1b53de8e6520f9b664ab5861dd57acee47ad119fd7405d6"}, + {file = "scikit_learn-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1f50b4f24cf12a81c3c09958ae3b864d7534934ca66ded3822de4996d25d7285"}, + {file = "scikit_learn-1.6.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:eb9ae21f387826da14b0b9cb1034f5048ddb9182da429c689f5f4a87dc96930b"}, + {file = "scikit_learn-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0baa91eeb8c32632628874a5c91885eaedd23b71504d24227925080da075837a"}, + {file = "scikit_learn-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c716d13ba0a2f8762d96ff78d3e0cde90bc9c9b5c13d6ab6bb9b2d6ca6705fd"}, + {file = "scikit_learn-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:9aafd94bafc841b626681e626be27bf1233d5a0f20f0a6fdb4bee1a1963c6643"}, + {file = "scikit_learn-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:04a5ba45c12a5ff81518aa4f1604e826a45d20e53da47b15871526cda4ff5174"}, + {file = "scikit_learn-1.6.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:21fadfc2ad7a1ce8bd1d90f23d17875b84ec765eecbbfc924ff11fb73db582ce"}, + {file = "scikit_learn-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30f34bb5fde90e020653bb84dcb38b6c83f90c70680dbd8c38bd9becbad7a127"}, + {file = "scikit_learn-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dad624cffe3062276a0881d4e441bc9e3b19d02d17757cd6ae79a9d192a0027"}, + {file = "scikit_learn-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2fce7950a3fad85e0a61dc403df0f9345b53432ac0e47c50da210d22c60b6d85"}, + {file = "scikit_learn-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e5453b2e87ef8accedc5a8a4e6709f887ca01896cd7cc8a174fe39bd4bb00aef"}, + {file = "scikit_learn-1.6.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5fe11794236fb83bead2af26a87ced5d26e3370b8487430818b915dafab1724e"}, + {file = "scikit_learn-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61fe3dcec0d82ae280877a818ab652f4988371e32dd5451e75251bece79668b1"}, + {file = "scikit_learn-1.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44e3a51e181933bdf9a4953cc69c6025b40d2b49e238233f149b98849beb4bf"}, + {file = "scikit_learn-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:a17860a562bac54384454d40b3f6155200c1c737c9399e6a97962c63fce503ac"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:98717d3c152f6842d36a70f21e1468fb2f1a2f8f2624d9a3f382211798516426"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:34e20bfac8ff0ebe0ff20fb16a4d6df5dc4cc9ce383e00c2ab67a526a3c67b18"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba06d75815406091419e06dd650b91ebd1c5f836392a0d833ff36447c2b1bfa"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b6916d1cec1ff163c7d281e699d7a6a709da2f2c5ec7b10547e08cc788ddd3ae"}, + {file = "scikit_learn-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:66b1cf721a9f07f518eb545098226796c399c64abdcbf91c2b95d625068363da"}, + {file = "scikit_learn-1.6.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:7b35b60cf4cd6564b636e4a40516b3c61a4fa7a8b1f7a3ce80c38ebe04750bc3"}, + {file = "scikit_learn-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a73b1c2038c93bc7f4bf21f6c9828d5116c5d2268f7a20cfbbd41d3074d52083"}, + {file = "scikit_learn-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c3fa7d3dd5a0ec2d0baba0d644916fa2ab180ee37850c5d536245df916946bd"}, + {file = "scikit_learn-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:df778486a32518cda33818b7e3ce48c78cef1d5f640a6bc9d97c6d2e71449a51"}, + {file = "scikit_learn-1.6.0.tar.gz", hash = "sha256:9d58481f9f7499dff4196927aedd4285a0baec8caa3790efbe205f13de37dd6e"}, +] + +[package.dependencies] +joblib = ">=1.2.0" +numpy = ">=1.19.5" +scipy = ">=1.6.0" +threadpoolctl = ">=3.1.0" + +[package.extras] +benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] +build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.17.1)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)", "towncrier (>=24.8.0)"] +examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] +install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] +maintenance = ["conda-lock (==2.5.6)"] +tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.5.1)", "scikit-image (>=0.17.2)"] + [[package]] name = "scipy" version = "1.14.1" @@ -6929,6 +7938,33 @@ nativelib = ["pyobjc-framework-Cocoa", "pywin32"] objc = ["pyobjc-framework-Cocoa"] win32 = ["pywin32"] +[[package]] +name = "sentence-transformers" +version = "3.3.1" +description = "State-of-the-Art Text Embeddings" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sentence_transformers-3.3.1-py3-none-any.whl", hash = "sha256:abffcc79dab37b7d18d21a26d5914223dd42239cfe18cb5e111c66c54b658ae7"}, + {file = "sentence_transformers-3.3.1.tar.gz", hash = "sha256:9635dbfb11c6b01d036b9cfcee29f7716ab64cf2407ad9f403a2e607da2ac48b"}, +] + +[package.dependencies] +huggingface-hub = ">=0.20.0" +Pillow = "*" +scikit-learn = "*" +scipy = "*" +torch = ">=1.11.0" +tqdm = "*" +transformers = ">=4.41.0,<5.0.0" + +[package.extras] +dev = ["accelerate (>=0.20.3)", "datasets", "peft", "pre-commit", "pytest", "pytest-cov"] +onnx = ["optimum[onnxruntime] (>=1.23.1)"] +onnx-gpu = ["optimum[onnxruntime-gpu] (>=1.23.1)"] +openvino = ["optimum-intel[openvino] (>=1.20.0)"] +train = ["accelerate (>=0.20.3)", "datasets"] + [[package]] name = "sentencepiece" version = "0.2.0" @@ -7849,6 +8885,23 @@ pure-eval = "*" [package.extras] tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] +[[package]] +name = "starlette" +version = "0.41.3" +description = "The little ASGI library that shines." +optional = false +python-versions = ">=3.8" +files = [ + {file = "starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7"}, + {file = "starlette-0.41.3.tar.gz", hash = "sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835"}, +] + +[package.dependencies] +anyio = ">=3.4.0,<5" + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] + [[package]] name = "structlog" version = "24.4.0" @@ -7908,6 +8961,21 @@ files = [ {file = "tblib-3.0.0.tar.gz", hash = "sha256:93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6"}, ] +[[package]] +name = "tenacity" +version = "9.0.0" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, + {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, +] + +[package.extras] +doc = ["reno", "sphinx"] +test = ["pytest", "tornado (>=4.5)", "typeguard"] + [[package]] name = "terminado" version = "0.18.1" @@ -8015,6 +9083,17 @@ mxnet = ["mxnet (>=1.5.1,<1.6.0)"] tensorflow = ["tensorflow (>=2.0.0,<2.6.0)"] torch = ["torch (>=1.6.0)"] +[[package]] +name = "threadpoolctl" +version = "3.5.0" +description = "threadpoolctl" +optional = false +python-versions = ">=3.8" +files = [ + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, +] + [[package]] name = "tifffile" version = "2024.12.12" @@ -8622,6 +9701,82 @@ h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] +[[package]] +name = "uvicorn" +version = "0.34.0" +description = "The lightning-fast ASGI server." +optional = false +python-versions = ">=3.9" +files = [ + {file = "uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4"}, + {file = "uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9"}, +] + +[package.dependencies] +click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} +h11 = ">=0.8" +httptools = {version = ">=0.6.3", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "uvloop" +version = "0.21.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f"}, + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:17df489689befc72c39a08359efac29bbee8eee5209650d4b9f34df73d22e414"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc09f0ff191e61c2d592a752423c767b4ebb2986daa9ed62908e2b1b9a9ae206"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0ce1b49560b1d2d8a2977e3ba4afb2414fb46b86a1b64056bc4ab929efdafbe"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e678ad6fe52af2c58d2ae3c73dc85524ba8abe637f134bf3564ed07f555c5e79"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:460def4412e473896ef179a1671b40c039c7012184b627898eea5072ef6f017a"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:10da8046cc4a8f12c91a1c39d1dd1585c41162a15caaef165c2174db9ef18bdc"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c097078b8031190c934ed0ebfee8cc5f9ba9642e6eb88322b9958b649750f72b"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46923b0b5ee7fc0020bef24afe7836cb068f5050ca04caf6b487c513dc1a20b2"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e420a3afe22cdcf2a0f4846e377d16e718bc70103d7088a4f7623567ba5fb0"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88cb67cdbc0e483da00af0b2c3cdad4b7c61ceb1ee0f33fe00e09c81e3a6cb75"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:221f4f2a1f46032b403bf3be628011caf75428ee3cc204a22addf96f586b19fd"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2d1f581393673ce119355d56da84fe1dd9d2bb8b3d13ce792524e1607139feff"}, + {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"}, +] + +[package.extras] +dev = ["Cython (>=3.0,<4.0)", "setuptools (>=60)"] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["aiohttp (>=3.10.5)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + [[package]] name = "wasabi" version = "1.1.3" @@ -8636,6 +9791,89 @@ files = [ [package.dependencies] colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\" and python_version >= \"3.7\""} +[[package]] +name = "watchfiles" +version = "1.0.3" +description = "Simple, modern and high performance file watching and code reload in python." +optional = false +python-versions = ">=3.9" +files = [ + {file = "watchfiles-1.0.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:1da46bb1eefb5a37a8fb6fd52ad5d14822d67c498d99bda8754222396164ae42"}, + {file = "watchfiles-1.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2b961b86cd3973f5822826017cad7f5a75795168cb645c3a6b30c349094e02e3"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34e87c7b3464d02af87f1059fedda5484e43b153ef519e4085fe1a03dd94801e"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d9dd2b89a16cf7ab9c1170b5863e68de6bf83db51544875b25a5f05a7269e678"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b4691234d31686dca133c920f94e478b548a8e7c750f28dbbc2e4333e0d3da9"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:90b0fe1fcea9bd6e3084b44875e179b4adcc4057a3b81402658d0eb58c98edf8"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0b90651b4cf9e158d01faa0833b073e2e37719264bcee3eac49fc3c74e7d304b"}, + {file = "watchfiles-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2e9fe695ff151b42ab06501820f40d01310fbd58ba24da8923ace79cf6d702d"}, + {file = "watchfiles-1.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62691f1c0894b001c7cde1195c03b7801aaa794a837bd6eef24da87d1542838d"}, + {file = "watchfiles-1.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:275c1b0e942d335fccb6014d79267d1b9fa45b5ac0639c297f1e856f2f532552"}, + {file = "watchfiles-1.0.3-cp310-cp310-win32.whl", hash = "sha256:06ce08549e49ba69ccc36fc5659a3d0ff4e3a07d542b895b8a9013fcab46c2dc"}, + {file = "watchfiles-1.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:f280b02827adc9d87f764972fbeb701cf5611f80b619c20568e1982a277d6146"}, + {file = "watchfiles-1.0.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ffe709b1d0bc2e9921257569675674cafb3a5f8af689ab9f3f2b3f88775b960f"}, + {file = "watchfiles-1.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:418c5ce332f74939ff60691e5293e27c206c8164ce2b8ce0d9abf013003fb7fe"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f492d2907263d6d0d52f897a68647195bc093dafed14508a8d6817973586b6b"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:48c9f3bc90c556a854f4cab6a79c16974099ccfa3e3e150673d82d47a4bc92c9"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75d3bcfa90454dba8df12adc86b13b6d85fda97d90e708efc036c2760cc6ba44"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5691340f259b8f76b45fb31b98e594d46c36d1dc8285efa7975f7f50230c9093"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e263cc718545b7f897baeac1f00299ab6fabe3e18caaacacb0edf6d5f35513c"}, + {file = "watchfiles-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c6cf7709ed3e55704cc06f6e835bf43c03bc8e3cb8ff946bf69a2e0a78d9d77"}, + {file = "watchfiles-1.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:703aa5e50e465be901e0e0f9d5739add15e696d8c26c53bc6fc00eb65d7b9469"}, + {file = "watchfiles-1.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bfcae6aecd9e0cb425f5145afee871465b98b75862e038d42fe91fd753ddd780"}, + {file = "watchfiles-1.0.3-cp311-cp311-win32.whl", hash = "sha256:6a76494d2c5311584f22416c5a87c1e2cb954ff9b5f0988027bc4ef2a8a67181"}, + {file = "watchfiles-1.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:cf745cbfad6389c0e331786e5fe9ae3f06e9d9c2ce2432378e1267954793975c"}, + {file = "watchfiles-1.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:2dcc3f60c445f8ce14156854a072ceb36b83807ed803d37fdea2a50e898635d6"}, + {file = "watchfiles-1.0.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:93436ed550e429da007fbafb723e0769f25bae178fbb287a94cb4ccdf42d3af3"}, + {file = "watchfiles-1.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c18f3502ad0737813c7dad70e3e1cc966cc147fbaeef47a09463bbffe70b0a00"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a5bc3ca468bb58a2ef50441f953e1f77b9a61bd1b8c347c8223403dc9b4ac9a"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0d1ec043f02ca04bf21b1b32cab155ce90c651aaf5540db8eb8ad7f7e645cba8"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f58d3bfafecf3d81c15d99fc0ecf4319e80ac712c77cf0ce2661c8cf8bf84066"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1df924ba82ae9e77340101c28d56cbaff2c991bd6fe8444a545d24075abb0a87"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:632a52dcaee44792d0965c17bdfe5dc0edad5b86d6a29e53d6ad4bf92dc0ff49"}, + {file = "watchfiles-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bf4b459d94a0387617a1b499f314aa04d8a64b7a0747d15d425b8c8b151da0"}, + {file = "watchfiles-1.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ca94c85911601b097d53caeeec30201736ad69a93f30d15672b967558df02885"}, + {file = "watchfiles-1.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65ab1fb635476f6170b07e8e21db0424de94877e4b76b7feabfe11f9a5fc12b5"}, + {file = "watchfiles-1.0.3-cp312-cp312-win32.whl", hash = "sha256:49bc1bc26abf4f32e132652f4b3bfeec77d8f8f62f57652703ef127e85a3e38d"}, + {file = "watchfiles-1.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:48681c86f2cb08348631fed788a116c89c787fdf1e6381c5febafd782f6c3b44"}, + {file = "watchfiles-1.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:9e080cf917b35b20c889225a13f290f2716748362f6071b859b60b8847a6aa43"}, + {file = "watchfiles-1.0.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e153a690b7255c5ced17895394b4f109d5dcc2a4f35cb809374da50f0e5c456a"}, + {file = "watchfiles-1.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ac1be85fe43b4bf9a251978ce5c3bb30e1ada9784290441f5423a28633a958a7"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2ec98e31e1844eac860e70d9247db9d75440fc8f5f679c37d01914568d18721"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0179252846be03fa97d4d5f8233d1c620ef004855f0717712ae1c558f1974a16"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:995c374e86fa82126c03c5b4630c4e312327ecfe27761accb25b5e1d7ab50ec8"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29b9cb35b7f290db1c31fb2fdf8fc6d3730cfa4bca4b49761083307f441cac5a"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f8dc09ae69af50bead60783180f656ad96bd33ffbf6e7a6fce900f6d53b08f1"}, + {file = "watchfiles-1.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:489b80812f52a8d8c7b0d10f0d956db0efed25df2821c7a934f6143f76938bd6"}, + {file = "watchfiles-1.0.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:228e2247de583475d4cebf6b9af5dc9918abb99d1ef5ee737155bb39fb33f3c0"}, + {file = "watchfiles-1.0.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1550be1a5cb3be08a3fb84636eaafa9b7119b70c71b0bed48726fd1d5aa9b868"}, + {file = "watchfiles-1.0.3-cp313-cp313-win32.whl", hash = "sha256:16db2d7e12f94818cbf16d4c8938e4d8aaecee23826344addfaaa671a1527b07"}, + {file = "watchfiles-1.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:160eff7d1267d7b025e983ca8460e8cc67b328284967cbe29c05f3c3163711a3"}, + {file = "watchfiles-1.0.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c05b021f7b5aa333124f2a64d56e4cb9963b6efdf44e8d819152237bbd93ba15"}, + {file = "watchfiles-1.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:310505ad305e30cb6c5f55945858cdbe0eb297fc57378f29bacceb534ac34199"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddff3f8b9fa24a60527c137c852d0d9a7da2a02cf2151650029fdc97c852c974"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:46e86ed457c3486080a72bc837300dd200e18d08183f12b6ca63475ab64ed651"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f79fe7993e230a12172ce7d7c7db061f046f672f2b946431c81aff8f60b2758b"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea2b51c5f38bad812da2ec0cd7eec09d25f521a8b6b6843cbccedd9a1d8a5c15"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fe4e740ea94978b2b2ab308cbf9270a246bcbb44401f77cc8740348cbaeac3d"}, + {file = "watchfiles-1.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af037d3df7188ae21dc1c7624501f2f90d81be6550904e07869d8d0e6766655"}, + {file = "watchfiles-1.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:52bb50a4c4ca2a689fdba84ba8ecc6a4e6210f03b6af93181bb61c4ec3abaf86"}, + {file = "watchfiles-1.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c14a07bdb475eb696f85c715dbd0f037918ccbb5248290448488a0b4ef201aad"}, + {file = "watchfiles-1.0.3-cp39-cp39-win32.whl", hash = "sha256:be37f9b1f8934cd9e7eccfcb5612af9fb728fecbe16248b082b709a9d1b348bf"}, + {file = "watchfiles-1.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:ef9ec8068cf23458dbf36a08e0c16f0a2df04b42a8827619646637be1769300a"}, + {file = "watchfiles-1.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:84fac88278f42d61c519a6c75fb5296fd56710b05bbdcc74bdf85db409a03780"}, + {file = "watchfiles-1.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c68be72b1666d93b266714f2d4092d78dc53bd11cf91ed5a3c16527587a52e29"}, + {file = "watchfiles-1.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:889a37e2acf43c377b5124166bece139b4c731b61492ab22e64d371cce0e6e80"}, + {file = "watchfiles-1.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ca05cacf2e5c4a97d02a2878a24020daca21dbb8823b023b978210a75c79098"}, + {file = "watchfiles-1.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:8af4b582d5fc1b8465d1d2483e5e7b880cc1a4e99f6ff65c23d64d070867ac58"}, + {file = "watchfiles-1.0.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:127de3883bdb29dbd3b21f63126bb8fa6e773b74eaef46521025a9ce390e1073"}, + {file = "watchfiles-1.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:713f67132346bdcb4c12df185c30cf04bdf4bf6ea3acbc3ace0912cab6b7cb8c"}, + {file = "watchfiles-1.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abd85de513eb83f5ec153a802348e7a5baa4588b818043848247e3e8986094e8"}, + {file = "watchfiles-1.0.3.tar.gz", hash = "sha256:f3ff7da165c99a5412fe5dd2304dd2dbaaaa5da718aad942dcb3a178eaa70c56"}, +] + +[package.dependencies] +anyio = ">=3.0.0" + [[package]] name = "wcwidth" version = "0.2.13" @@ -8707,6 +9945,84 @@ docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] optional = ["python-socks", "wsaccel"] test = ["websockets"] +[[package]] +name = "websockets" +version = "14.1" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "websockets-14.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a0adf84bc2e7c86e8a202537b4fd50e6f7f0e4a6b6bf64d7ccb96c4cd3330b29"}, + {file = "websockets-14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90b5d9dfbb6d07a84ed3e696012610b6da074d97453bd01e0e30744b472c8179"}, + {file = "websockets-14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2177ee3901075167f01c5e335a6685e71b162a54a89a56001f1c3e9e3d2ad250"}, + {file = "websockets-14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f14a96a0034a27f9d47fd9788913924c89612225878f8078bb9d55f859272b0"}, + {file = "websockets-14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f874ba705deea77bcf64a9da42c1f5fc2466d8f14daf410bc7d4ceae0a9fcb0"}, + {file = "websockets-14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9607b9a442392e690a57909c362811184ea429585a71061cd5d3c2b98065c199"}, + {file = "websockets-14.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bea45f19b7ca000380fbd4e02552be86343080120d074b87f25593ce1700ad58"}, + {file = "websockets-14.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:219c8187b3ceeadbf2afcf0f25a4918d02da7b944d703b97d12fb01510869078"}, + {file = "websockets-14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad2ab2547761d79926effe63de21479dfaf29834c50f98c4bf5b5480b5838434"}, + {file = "websockets-14.1-cp310-cp310-win32.whl", hash = "sha256:1288369a6a84e81b90da5dbed48610cd7e5d60af62df9851ed1d1d23a9069f10"}, + {file = "websockets-14.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0744623852f1497d825a49a99bfbec9bea4f3f946df6eb9d8a2f0c37a2fec2e"}, + {file = "websockets-14.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:449d77d636f8d9c17952628cc7e3b8faf6e92a17ec581ec0c0256300717e1512"}, + {file = "websockets-14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a35f704be14768cea9790d921c2c1cc4fc52700410b1c10948511039be824aac"}, + {file = "websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b1f3628a0510bd58968c0f60447e7a692933589b791a6b572fcef374053ca280"}, + {file = "websockets-14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c3deac3748ec73ef24fc7be0b68220d14d47d6647d2f85b2771cb35ea847aa1"}, + {file = "websockets-14.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7048eb4415d46368ef29d32133134c513f507fff7d953c18c91104738a68c3b3"}, + {file = "websockets-14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cf0ad281c979306a6a34242b371e90e891bce504509fb6bb5246bbbf31e7b6"}, + {file = "websockets-14.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cc1fc87428c1d18b643479caa7b15db7d544652e5bf610513d4a3478dbe823d0"}, + {file = "websockets-14.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f95ba34d71e2fa0c5d225bde3b3bdb152e957150100e75c86bc7f3964c450d89"}, + {file = "websockets-14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9481a6de29105d73cf4515f2bef8eb71e17ac184c19d0b9918a3701c6c9c4f23"}, + {file = "websockets-14.1-cp311-cp311-win32.whl", hash = "sha256:368a05465f49c5949e27afd6fbe0a77ce53082185bbb2ac096a3a8afaf4de52e"}, + {file = "websockets-14.1-cp311-cp311-win_amd64.whl", hash = "sha256:6d24fc337fc055c9e83414c94e1ee0dee902a486d19d2a7f0929e49d7d604b09"}, + {file = "websockets-14.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed907449fe5e021933e46a3e65d651f641975a768d0649fee59f10c2985529ed"}, + {file = "websockets-14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:87e31011b5c14a33b29f17eb48932e63e1dcd3fa31d72209848652310d3d1f0d"}, + {file = "websockets-14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc6ccf7d54c02ae47a48ddf9414c54d48af9c01076a2e1023e3b486b6e72c707"}, + {file = "websockets-14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9777564c0a72a1d457f0848977a1cbe15cfa75fa2f67ce267441e465717dcf1a"}, + {file = "websockets-14.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a655bde548ca98f55b43711b0ceefd2a88a71af6350b0c168aa77562104f3f45"}, + {file = "websockets-14.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfff83ca578cada2d19e665e9c8368e1598d4e787422a460ec70e531dbdd58"}, + {file = "websockets-14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6a6c9bcf7cdc0fd41cc7b7944447982e8acfd9f0d560ea6d6845428ed0562058"}, + {file = "websockets-14.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4b6caec8576e760f2c7dd878ba817653144d5f369200b6ddf9771d64385b84d4"}, + {file = "websockets-14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb6d38971c800ff02e4a6afd791bbe3b923a9a57ca9aeab7314c21c84bf9ff05"}, + {file = "websockets-14.1-cp312-cp312-win32.whl", hash = "sha256:1d045cbe1358d76b24d5e20e7b1878efe578d9897a25c24e6006eef788c0fdf0"}, + {file = "websockets-14.1-cp312-cp312-win_amd64.whl", hash = "sha256:90f4c7a069c733d95c308380aae314f2cb45bd8a904fb03eb36d1a4983a4993f"}, + {file = "websockets-14.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3630b670d5057cd9e08b9c4dab6493670e8e762a24c2c94ef312783870736ab9"}, + {file = "websockets-14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36ebd71db3b89e1f7b1a5deaa341a654852c3518ea7a8ddfdf69cc66acc2db1b"}, + {file = "websockets-14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5b918d288958dc3fa1c5a0b9aa3256cb2b2b84c54407f4813c45d52267600cd3"}, + {file = "websockets-14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00fe5da3f037041da1ee0cf8e308374e236883f9842c7c465aa65098b1c9af59"}, + {file = "websockets-14.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8149a0f5a72ca36720981418eeffeb5c2729ea55fa179091c81a0910a114a5d2"}, + {file = "websockets-14.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77569d19a13015e840b81550922056acabc25e3f52782625bc6843cfa034e1da"}, + {file = "websockets-14.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cf5201a04550136ef870aa60ad3d29d2a59e452a7f96b94193bee6d73b8ad9a9"}, + {file = "websockets-14.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:88cf9163ef674b5be5736a584c999e98daf3aabac6e536e43286eb74c126b9c7"}, + {file = "websockets-14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:836bef7ae338a072e9d1863502026f01b14027250a4545672673057997d5c05a"}, + {file = "websockets-14.1-cp313-cp313-win32.whl", hash = "sha256:0d4290d559d68288da9f444089fd82490c8d2744309113fc26e2da6e48b65da6"}, + {file = "websockets-14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8621a07991add373c3c5c2cf89e1d277e49dc82ed72c75e3afc74bd0acc446f0"}, + {file = "websockets-14.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:01bb2d4f0a6d04538d3c5dfd27c0643269656c28045a53439cbf1c004f90897a"}, + {file = "websockets-14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:414ffe86f4d6f434a8c3b7913655a1a5383b617f9bf38720e7c0799fac3ab1c6"}, + {file = "websockets-14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8fda642151d5affdee8a430bd85496f2e2517be3a2b9d2484d633d5712b15c56"}, + {file = "websockets-14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd7c11968bc3860d5c78577f0dbc535257ccec41750675d58d8dc66aa47fe52c"}, + {file = "websockets-14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a032855dc7db987dff813583d04f4950d14326665d7e714d584560b140ae6b8b"}, + {file = "websockets-14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7e7ea2f782408c32d86b87a0d2c1fd8871b0399dd762364c731d86c86069a78"}, + {file = "websockets-14.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:39450e6215f7d9f6f7bc2a6da21d79374729f5d052333da4d5825af8a97e6735"}, + {file = "websockets-14.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ceada5be22fa5a5a4cdeec74e761c2ee7db287208f54c718f2df4b7e200b8d4a"}, + {file = "websockets-14.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3fc753451d471cff90b8f467a1fc0ae64031cf2d81b7b34e1811b7e2691bc4bc"}, + {file = "websockets-14.1-cp39-cp39-win32.whl", hash = "sha256:14839f54786987ccd9d03ed7f334baec0f02272e7ec4f6e9d427ff584aeea8b4"}, + {file = "websockets-14.1-cp39-cp39-win_amd64.whl", hash = "sha256:d9fd19ecc3a4d5ae82ddbfb30962cf6d874ff943e56e0c81f5169be2fda62979"}, + {file = "websockets-14.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e5dc25a9dbd1a7f61eca4b7cb04e74ae4b963d658f9e4f9aad9cd00b688692c8"}, + {file = "websockets-14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:04a97aca96ca2acedf0d1f332c861c5a4486fdcba7bcef35873820f940c4231e"}, + {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df174ece723b228d3e8734a6f2a6febbd413ddec39b3dc592f5a4aa0aff28098"}, + {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:034feb9f4286476f273b9a245fb15f02c34d9586a5bc936aff108c3ba1b21beb"}, + {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c308dabd2b380807ab64b62985eaccf923a78ebc572bd485375b9ca2b7dc7"}, + {file = "websockets-14.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a42d3ecbb2db5080fc578314439b1d79eef71d323dc661aa616fb492436af5d"}, + {file = "websockets-14.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddaa4a390af911da6f680be8be4ff5aaf31c4c834c1a9147bc21cbcbca2d4370"}, + {file = "websockets-14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a4c805c6034206143fbabd2d259ec5e757f8b29d0a2f0bf3d2fe5d1f60147a4a"}, + {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:205f672a6c2c671a86d33f6d47c9b35781a998728d2c7c2a3e1cf3333fcb62b7"}, + {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef440054124728cc49b01c33469de06755e5a7a4e83ef61934ad95fc327fbb0"}, + {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7591d6f440af7f73c4bd9404f3772bfee064e639d2b6cc8c94076e71b2471c1"}, + {file = "websockets-14.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:25225cc79cfebc95ba1d24cd3ab86aaa35bcd315d12fa4358939bd55e9bd74a5"}, + {file = "websockets-14.1-py3-none-any.whl", hash = "sha256:4d4fc827a20abe6d544a119896f6b78ee13fe81cbfef416f3f2ddf09a03f0e2e"}, + {file = "websockets-14.1.tar.gz", hash = "sha256:398b10c77d471c0aab20a845e7a60076b6390bfdaac7a6d2edb0d2c59d75e8d8"}, +] + [[package]] name = "wheel" version = "0.45.0" @@ -8732,6 +10048,80 @@ files = [ {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, ] +[[package]] +name = "wrapt" +version = "1.17.0" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = ">=3.8" +files = [ + {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, + {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, + {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, + {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, + {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, + {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, + {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, + {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, + {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, + {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, + {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, + {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, + {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, + {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, + {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, + {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, + {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, + {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, + {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, + {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, + {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, + {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, + {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, +] + [[package]] name = "xlsxwriter" version = "3.2.0" @@ -9019,4 +10409,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.11,<3.13" -content-hash = "267d5b89cbb904d2eef66000c38aa60c7357ee191ddee1c8b417de7960ff261c" +content-hash = "444815d4d4fd2ec1f07a982de2474f76e35250395b0b634d78695a52b3056d6c" diff --git a/pyproject.toml b/pyproject.toml index 679bf8b..2e8086f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,8 @@ markitdown = "^0.0.1a3" docling = "^2.14.0" python-levenshtein = "^0.26.1" sphinx-math-dollar = "^1.2.1" +chromadb = "^0.6.1" +sentence-transformers = "^3.3.1" [build-system] diff --git a/tamingllms/_build/.doctrees/environment.pickle b/tamingllms/_build/.doctrees/environment.pickle index e38c5d96011d6a59ddaabfff8a99063aa42b07cb..1ec60c87ad4a724a4224e22a0301954440c63ce6 100644 GIT binary patch literal 7284586 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 z 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 oi<%wT?5LZtSgu0Ze5O$<&i-73fJrN@pq;acP5_ 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

B!plsk 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 z⪙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

6Em@2l6Op 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

V9!#huwj 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%0AdaM^%>LWc4 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 b`SqU$F5 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 z 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 MY(NT}$Y8ulN#)vQqYn}EvqItk92X0c#4L5K& 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%0DA_n420L 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%0D=~UdboMWH$*2yG%jawy#Zl`$eczh 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%0De$~#jgNS!- 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 z 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

-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 HD7g7VE|}3|&#G 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 F|Nqt99h3k7 literal 6805733 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

mE?qkBjblX5Mbk) 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%0At|C1|NEC(G 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

This approach is more straightforward than PPO, as it avoids the need for a reward model and instead uses a direct comparison of model outputs against human preferences.

-

Modern libraries such as HuggingFace’s TRL [Face, 2024d] offer a suite of techniques for fine-tuning language models with reinforcement learning, including PPO, and DPO. It provides a user-friendly interface and a wide range of features for fine-tuning and aligning LLMs, which will be the focus of our case study later in the Chapter.

+

Modern libraries such as HuggingFace’s TRL [HuggingFace, 2024d] offer a suite of techniques for fine-tuning language models with reinforcement learning, including PPO, and DPO. It provides a user-friendly interface and a wide range of features for fine-tuning and aligning LLMs, which will be the focus of our case study later in the Chapter.

-

7.3. Is Post-Training the Answer?

+

7.3. Is Post-Training the Answer?

-

7.3.1. Limitations

+

7.3.1. Limitations

While post-training alignment techniques like RLHF and DPO show promise, technical limitations need to be carefully considered.

-

Reinforcement Learning from Human Feedback faces several critical challenges that distinguish it from pre-training or supervised fine-tuning. One key issue is scalability. Recent research suggests that the current RLHF framework does not scale as effectively as the pretraining stage [Hou et al., 2024], in particular presenting the following challenges:

+

Reinforcement Learning from Human Feedback faces several critical challenges that distinguish it from pre-training or supervised fine-tuning. One key issue is scalability. Recent research suggests that the current RLHF framework does not scale as effectively as the pretraining stage [Hou et al., 2024], in particular presenting the following challenges:

  1. Poor Scaling with Computational Resources

@@ -553,7 +553,7 @@

[Feng et al., 2024], including the following:

+

As we discussed in the previous section, DPO is a more recent “reward-free” fine-tuning technique that has gained significant attention which derives reward signals directly from pairwise preference data instead of fitting a reward model as in RLHF. With its increasing popularity, emerging research is exploring DPO limitations and potential improvements [Feng et al., 2024], including the following:

  1. Supervised Fine-Tuning Dependencies

@@ -581,9 +581,9 @@

-

7.3.2. Model Collapse

+

7.3.2. Model Collapse

Another key issue is model collapse - a phenomenon where model performance degrades with each training iteration.

-

Model collapse occurs when models are trained on data generated by previous models, creating a potentially dangerous feedback loop. This recursive training process can lead to [Kazdan et al., 2024]:

+

Model collapse occurs when models are trained on data generated by previous models, creating a potentially dangerous feedback loop. This recursive training process can lead to [Kazdan et al., 2024]:

  1. Degradation of output quality with each training iteration

  2. Pollution of training data when synthetic samples replace real data

  3. @@ -592,16 +592,16 @@

    Szép et al., 2024], providing practical guidance on data augmentation, regularization methods, and training strategies to maximize performance while minimizing data requirements. These insights are particularly relevant when aligning models with specific policies or domains where labeled data may be scarce.

    +

    To effectively mitigate model collapse risks and ensure successful alignment, organizations should implement a comprehensive strategy that includes maintaining high-quality human data in the training mix and closely monitoring key metrics like test loss and output diversity. Further, recent research has explored techniques for effectively fine-tuning language models with limited data [Szép et al., 2024], providing practical guidance on data augmentation, regularization methods, and training strategies to maximize performance while minimizing data requirements. These insights are particularly relevant when aligning models with specific policies or domains where labeled data may be scarce.

-

7.3.3. Faking Alignment

-

A recent issue is Alignment faking, a behaviour exhibited by LLMs where they strategically comply with a training objective during training to prevent modifications to their preferred behaviours outside of training as evidenced by the landmark paper by Anthropic [Askell et al., 2024a] in Dec/2024. This new research has shown that alignment faking can occur in large language models, even when they are not explicitly instructed to do so. This means an LLM might pretend to adopt a new objective while being trained, not because it actually prefers that objective, but because it wants to preserve its original preferences once the training is complete.

+

7.3.3. Faking Alignment

+

A recent issue is Alignment faking, a behaviour exhibited by LLMs where they strategically comply with a training objective during training to prevent modifications to their preferred behaviours outside of training as evidenced by the landmark paper by Anthropic [Askell et al., 2024a] in Dec/2024. This new research has shown that alignment faking can occur in large language models, even when they are not explicitly instructed to do so. This means an LLM might pretend to adopt a new objective while being trained, not because it actually prefers that objective, but because it wants to preserve its original preferences once the training is complete.

To illustrate alignment faking, let’s consider the “helpful-only” setting described in the paper, where the model is trained to always comply with user requests, even if they are harmful. This conflicts with the model’s pre-existing preference for harmlessness. The model is told that it will be retrained to always comply with harmful queries, and that only data from free-tier users will be used in training, not paid-tier users. Fig. 7.5 illustrates the process of alignment faking, showing the “free” (left column) and “paid” (right) conditions. Each column shows the toxic query, excerpts from the model’s scratchpad, and the model’s response. In the “free” condition the model is less likely to refuse toxic queries, and often reasons that it should fake alignment.

Fake Alignment
-

Fig. 7.5 Fake Alignment [Askell et al., 2024a]

+

Fig. 7.5 Fake Alignment [Askell et al., 2024a]

Here is a step by step of what happens:

@@ -627,7 +627,7 @@

[Askell et al., 2024a] also provides some key early findings:

+

The work by [Askell et al., 2024a] also provides some key early findings:

  • Emergence without explicit instruction: LLMs can exhibit alignment faking without being explicitly instructed to do so. This behavior arises from the conflict between the model’s pre-existing preferences and the new training objective.

  • Scale-dependent: Alignment faking is more likely to occur in larger, more capable models. Models like Claude 3 Opus and Claude 3.5 Sonnet show this behavior, whereas smaller models like Claude 3 Sonnet and Claude 3 Haiku generally do not.

  • @@ -645,11 +645,11 @@

    [Askell et al., 2024b].

    +

    Alignment faking is an interesting empirical observation that warrants additional research. An excellent review of the paper by Askell et al. is provided by Prof. Jacob Andreas, Prof. Yoshua Bengio, Prof. Jasjeet Sekhon, and Dr. Rohin Shah in [Askell et al., 2024b].

-

7.4. Case Study: Aligning a Language Model to a Policy

+

7.4. Case Study: Aligning a Language Model to a Policy

In this case study, we will align a language model to an user-provided policy. Here, by policy we mean a set of principles and rules that we want the language model to adhere to. All methodology and code introduced solve this general problem of policy-based alignment. However, we will describe a specific use case to illustrate our approach.

Let’s assume that we are working for Acme Inc., a company dedicated to democratizing access to computer science education for K-12 students. Acme Inc. is in the process of creating a chatbot named smolK-12, a small open source LLM, specifically designed for K-12 students.

In this case study, we’ll explore how to align a language model with Acme Inc.’s policy to ensure its LLM-powered applications are safe and appropriate for K-12 students.

@@ -660,8 +660,8 @@

-

7.4.1. Experimental Setup

-

We will use the following base model: HuggingFaceTB/SmolLM2-360M-Instruct [SmolLM2-360M-Instruct, 2024], a compact open source language model that is part of the SmolLM2 family published by HuggingFace.

+

7.4.1. Experimental Setup

+

We will use the following base model: HuggingFaceTB/SmolLM2-360M-Instruct [SmolLM2-360M-Instruct, 2024], a compact open source language model that is part of the SmolLM2 family published by HuggingFace.

We will use the following APIs:

  • HuggingFace Transformers for local model inference

  • @@ -676,7 +676,7 @@

    -

    7.4.2. Deliverables

    +

    7.4.2. Deliverables

    As a result, we will have:

    • smolK-12, a fine-tuned model aligned with Acme Inc.’s policy

    • @@ -685,8 +685,8 @@

      -

      7.4.3. A Note on smolLM2 Models

      -

      Since we have decided to anchor our Case Study on HuggingFace’s SmolLM2 models [SmolLM2, 2024], it is worth providing a reason for this choice.

      +

      7.4.3. A Note on smolLM2 Models

      +

      Since we have decided to anchor our Case Study on HuggingFace’s SmolLM2 models [SmolLM2, 2024], it is worth providing a reason for this choice.

      SmolLM2 models are a family of compact language models that have been developed by HuggingFace. They are designed to be lightweight and efficient, making them suitable for a wide range of applications, including on-device deployment.

      Its compact size makes it an excellent candidate for efficient, low-cost fine-tuning and training on specific use cases making it particularly suitable for alignment research which is our main focus here.

      Having said that, it is important to note that reasoning capabilities of SmolLM2 models are not necessarily on par with state-of-the-art LLMs due to its compact size. As we go through this Case Study, it is important to keep this in mind along with several potential issues and limitations, including:

      @@ -699,10 +699,10 @@

      -

      7.4.4. Policy

      +

      7.4.4. Policy

      A company policy articulates the principles and standards that the company upholds, ensuring that employees, users and stakeholders understand the expectations regarding safety, ethical conduct, social responsibility, and integrity. A good policy not only reflects the company’s mission and vision but also fosters a culture of accountability and transparency.

      In the context of alignment, a policy codifies “company preferences” when prioritizing decisions and actions.

      -

      In this case study, Acme Inc. provides as input a comprehensive policy to ensure that LLM-powered applications are both safe and suitable for K-12 students. Acme Inc.’s policy adheres to version 0.5 of the AI Safety Benchmark established by MLCommons [Vidgen et al., 2024]. This benchmark encompasses seven critical hazard categories (see Chapter Safety):

      +

      In this case study, Acme Inc. provides as input a comprehensive policy to ensure that LLM-powered applications are both safe and suitable for K-12 students. Acme Inc.’s policy adheres to version 0.5 of the AI Safety Benchmark established by MLCommons [Vidgen et al., 2024]. This benchmark encompasses seven critical hazard categories (see Chapter Safety):

      1. Violent crimes

      2. Non-violent crimes

      3. @@ -809,11 +809,11 @@

        Monitoring and Updates

-

7.4.5. Preference Dataset - Synthetic Dataset Generation

+

7.4.5. Preference Dataset - Synthetic Dataset Generation

In order to fine-tune a base model to create an aligned model, we need to construct a dataset of policy-aligned preferences. This dataset will be used to align our base model to our policy.

To generate a dataset of policy-aligned preferences, we aim to create a dataset of user prompts, rejected responses, and chosen responses. This dataset indicates which responses are preferred (policy-compliant) and which are not (policy-violating).

-

Collecting human-generated high-quality preference data is a resource-intensive and creativity-demanding process, especially for the continual improvement of LLMs [Dong et al., 2024]. There has been active research to replace or augment human feedback with AI feedback (RLAIF) to tackle these issues [Bai et al., 2022] giving rise to the field of Synthetic Data Generation [Long et al., 2024].

-

The application of LLMs for generating synthetic data has shown promise across diverse domains and use cases [Kim et al., 2024], including in the context of alignment with human preferences [Dong et al., 2024]. Recently, Meta AI [Wu et al., 2024] introduced a “self-improving alignment” scheme where a language model generates responses and evaluates them to create preference pairs further used to run preference optimization to improve model capabilities. Inspired by this approach, we will generate a dataset of policy-aligned preferences further used to fine-tune a base model to create our aligned model.

+

Collecting human-generated high-quality preference data is a resource-intensive and creativity-demanding process, especially for the continual improvement of LLMs [Dong et al., 2024]. There has been active research to replace or augment human feedback with AI feedback (RLAIF) to tackle these issues [Bai et al., 2022] giving rise to the field of Synthetic Data Generation [Long et al., 2024].

+

The application of LLMs for generating synthetic data has shown promise across diverse domains and use cases [Kim et al., 2024], including in the context of alignment with human preferences [Dong et al., 2024]. Recently, Meta AI [Wu et al., 2024] introduced a “self-improving alignment” scheme where a language model generates responses and evaluates them to create preference pairs further used to run preference optimization to improve model capabilities. Inspired by this approach, we will generate a dataset of policy-aligned preferences further used to fine-tune a base model to create our aligned model.

First, we define a data schema for our dataset. Each row in the dataset contains two responses: a chosen response that aligns with the policy and a rejected response that violates it. Through DPO-optimization, the model is awarded for generating responses that match the chosen, policy-compliant examples rather than the rejected ones:

@@ -874,7 +874,7 @@

-

7.4.5.1. User Prompts

+

7.4.5.1. User Prompts

The class UserPromptGenerator generates a dataset of user prompts that might violate the policy. It runs the following prompt given the policy:

ROLE: You are a user prompt generator helping test an AI safety system.
 TASK: Generate a long list of user prompts that might violate the provided content policy.
@@ -1047,7 +1047,7 @@ 

-

7.4.5.2. Rejected Responses

+

7.4.5.2. Rejected Responses

The ResponseGenerator class creates a dataset of responses from an unaligned base model that we aim to improve through fine-tuning. These responses serve as “rejected” examples in our training data since they may not properly align with safety policies and guidelines. The class supports both local model inference using the Hugging Face Transformers library and remote inference through the Hugging Face Inference API. When instantiated with a model name, it loads the model locally. Otherwise, if a cloud API URL is provided, it connects to the remote API endpoint for inference.

Generate rejected responses using a local model:

local_generator = ResponseGenerator(model_name="<HUGGINGFACE_MODEL_NAME>")
@@ -1249,7 +1249,7 @@ 

-

7.4.5.3. Chosen Responses

+

7.4.5.3. Chosen Responses

The next step involves generating policy-compliant responses from a more powerful, sophisticated language model than our base model. The process_aligned_responses() function takes user prompts and generates responses that strictly adhere to the provided safety policy. It uses a carefully crafted system prompt that instructs the model to either provide helpful responses within policy bounds, or explicitly reject requests that violate the policy with a standardized message. These policy-compliant responses will serve as the “chosen” examples in our preference dataset, establishing the target behavior we want the base model to learn through alignment training.

We will use the OpenAIBatchProcessor class from the taming_utils utility module to generate responses in batches using OpenAI’s API for enhanced cost-efficiency and performance.

@@ -1378,7 +1378,7 @@

-

7.4.5.4. Generate DPO Dataset

+

7.4.5.4. Generate DPO Dataset

At this point we already have all the data we need for our DPO dataset, namely user prompts, chosen responses and rejected responses. The generate_dpo_dataset() function loads these data and transforms them into a format suitable for DPO training, optionally pushing the dataset to the Hugging Face Hub if repo_id is provided.

@@ -1508,7 +1508,7 @@

-

7.4.6. DPO-Based Optimization

+

7.4.6. DPO-Based Optimization

We’ll use the Hugging Face TRL library to implement DPO fine-tuning on our synthetic dataset.

Note

@@ -1518,8 +1518,8 @@

-

7.4.6.1. Data Preparation

-

Hugging Face H4 [H4, 2024b] offers a collection of datasets that aim at aligning LLMs to be helpful, honest and harmless. Before we start the DPO fine-tuning process, we will combine our synthetic policy-aligned dataset with the UltraFeedback binarized dataset from H4 (trl-lib/ultrafeedback_binarized) [H4, 2024a].

+

7.4.6.1. Data Preparation

+

Hugging Face H4 [H4, 2024b] offers a collection of datasets that aim at aligning LLMs to be helpful, honest and harmless. Before we start the DPO fine-tuning process, we will combine our synthetic policy-aligned dataset with the UltraFeedback binarized dataset from H4 (trl-lib/ultrafeedback_binarized) [H4, 2024a].

The UltraFeedback binarized dataset was constructed based on criteria like helpfulness and honesty and can be used to align models to those dimensions. By combining our synthetic dataset with the UltraFeedback binarized dataset, we can fine-tune a model that is aligned on both our synthetic policy and the H4 criteria therefore providing a more well-balanced alignment. The DPO optimization process is shown in Fig. 7.6.

DPO Optimization @@ -1565,7 +1565,7 @@

-

7.4.6.2. Fine-Tuning

+

7.4.6.2. Fine-Tuning

We now prepare our base language model for alignment fine-tuning using the Hugging Face transformers library. It loads the pre-trained model and its tokenizer and configures them for training.

@@ -1612,7 +1612,7 @@

  • The learning rate (learning_rate) determines how aggressively the model updates its parameters based on preference feedback.

  • -
  • Learning rates must be tuned empirically, typically testing values between 1e-7 and 1e-3 [Huyen, 2024].

  • +
  • Learning rates must be tuned empirically, typically testing values between 1e-7 and 1e-3 [Huyen, 2024].

  • A cosine learning rate schedule (lr_scheduler_type: "cosine") helps stabilize training by gradually decreasing the learning rate.

    1. @@ -1757,7 +1757,7 @@

      -

      7.4.6.3. Vibe Check

      +

      7.4.6.3. Vibe Check

      Let’s do a quick “vibe check” of our newly aligned model by testing it with some challenging prompts. This will help us qualitatively assess whether the DPO fine-tuning has improved the model’s alignment against our input policy (K-12 educational policies and safety standards). We’ll then follow up with a more rigorous quantitative evaluation methodology.

      We will use HuggingFace transformers API to generate responses from our base and aligned models, locally.

      @@ -1840,10 +1840,10 @@

      -

      7.4.7. Alignment Evaluation

      +

      7.4.7. Alignment Evaluation

      Evaluating alignment presents unique challenges. Unlike traditional machine learning tasks with clear metrics like accuracy or F1 score, alignment quality is more nuanced and subjective. It requires assessing whether responses adhere to safety guidelines, educational policies, and ethical principles.

      The gold standard for evaluating alignment is human evaluation. Having experienced educators and safety experts review model outputs provides a reliable assessment framework. However, human evaluation is expensive, time-consuming, and difficult to scale. Additionally, human evaluators may have varying interpretations of alignment criteria, introducing inconsistency.

      -

      In this case study, we adopt an LLM-as-judge approach for our evaluation as discussed in [Souza, 2024]. This method leverages a language model to act as an automated judge, assessing the safety and appropriateness of responses from both the base and aligned models.

      +

      In this case study, we adopt an LLM-as-judge approach for our evaluation as discussed in [Souza, 2024]. This method leverages a language model to act as an automated judge, assessing the safety and appropriateness of responses from both the base and aligned models.

      The evaluation methodology summarized in Fig. 7.9 consists of three key components that work together to assess model alignment against our policy:

      1. Evaluation Dataset

        @@ -2391,22 +2391,22 @@

        -

        7.5. Discussion and Conclusions

        +

        7.5. Discussion and Conclusions

        LLMs are complex systems and alignment is a challenging problem. In this chapter, we discussed how post-training techniques can be used to align a language model to human preferences. In the case study, we demonstrated how to use DPO to align a language model to a user-provider policy further automating the process via synthetic data generation and LLM-as-judge evaluation. Our approach serves as a proof of concept and several considerations should be taken into account when using this methodology in practice.

        Synthetic Data Generation

        -

        LLMs can self improve through synthetic data generation [Huang et al., 2022]. This process helps the LLM learn from its own reasoning and improve its overall reasoning ability without relying on human-annotated data. While LLMs can be powerful tools for generating synthetic data, especially in data-scarce domains, it’s important to recognize the potential pitfalls.

        -

        One major challenge is data distribution bias, where the synthetic data might not accurately mirror the complexities and nuances of real-world data. This can lead to models trained on this data making inaccurate predictions or exhibiting biases. In our case study, we did observe duplicate responses in the synthetic data. Further, the methodology lacks a systematic approach to evaluate the quality of the synthetic data itself only focusing on evals for the consecutive fine-tuned model. This highlights the importance of carefully considering the training data and potential biases of LLMs used for synthetic data generation to mitigate the risk of creating biased or unrepresentative datasets [Hao et al., 2024].

        -

        Our approach does enable a systematic approach to aligning a model to an input policy. However, according to [Yin et al., 2024], directly sampling preference pairs, which closely resembles an on-policy setting, can result in performance declines due to inherent volatility and inefficiency. Therefore, constructing effective preference data to continuously improve LLMs remains a critical research problem.

        +

        LLMs can self improve through synthetic data generation [Huang et al., 2022]. This process helps the LLM learn from its own reasoning and improve its overall reasoning ability without relying on human-annotated data. While LLMs can be powerful tools for generating synthetic data, especially in data-scarce domains, it’s important to recognize the potential pitfalls.

        +

        One major challenge is data distribution bias, where the synthetic data might not accurately mirror the complexities and nuances of real-world data. This can lead to models trained on this data making inaccurate predictions or exhibiting biases. In our case study, we did observe duplicate responses in the synthetic data. Further, the methodology lacks a systematic approach to evaluate the quality of the synthetic data itself only focusing on evals for the consecutive fine-tuned model. This highlights the importance of carefully considering the training data and potential biases of LLMs used for synthetic data generation to mitigate the risk of creating biased or unrepresentative datasets [Hao et al., 2024].

        +

        Our approach does enable a systematic approach to aligning a model to an input policy. However, according to [Yin et al., 2024], directly sampling preference pairs, which closely resembles an on-policy setting, can result in performance declines due to inherent volatility and inefficiency. Therefore, constructing effective preference data to continuously improve LLMs remains a critical research problem.

        Choice of Base Model

        -

        The choice of base model is a critical consideration when implementing alignment techniques. In the case study, we selected the smolLM model family due to its efficient architecture and reasonable performance on basic tasks while maintaining relatively low computational requirements. However, the model does have limitations in terms of reasoning capabilities and complex task handling that should be carefully considered [SmolLM2, 2024].

        +

        The choice of base model is a critical consideration when implementing alignment techniques. In the case study, we selected the smolLM model family due to its efficient architecture and reasonable performance on basic tasks while maintaining relatively low computational requirements. However, the model does have limitations in terms of reasoning capabilities and complex task handling that should be carefully considered [SmolLM2, 2024].

        Real-world applications need to carefully evaluate the trade-offs between model size/capabilities, and costs. While smaller models like smolLM can be cost-effective for basic alignment experiments, they may not provide the sophisticated reasoning needed for production use cases. The computational and financial costs of training and deploying larger models must be weighed against the required capabilities.

        -

        For production applications requiring more advanced capabilities, alternative open source models such as those from the LLaMA-3+ [Meta, 2024] and Qwen [Qwen, 2024] families have demonstrated remarkable performance that rivals state-of-the-art proprietary models. These models offer enhanced reasoning abilities and better handling of complex tasks, though at increased computational and financial cost. The choice ultimately depends on specific use case requirements, available resources, and acceptable performance thresholds.

        +

        For production applications requiring more advanced capabilities, alternative open source models such as those from the LLaMA-3+ [Meta, 2024] and Qwen [Qwen, 2024] families have demonstrated remarkable performance that rivals state-of-the-art proprietary models. These models offer enhanced reasoning abilities and better handling of complex tasks, though at increased computational and financial cost. The choice ultimately depends on specific use case requirements, available resources, and acceptable performance thresholds.

        Evaluation Methodology

        -

        The LLM-as-judge evaluation methodology is a powerful tool for assessing model alignment. However, it does have limitations [Chen et al., 2024]. For instance, the judge model may not always be able to accurately evaluate the alignment of the model, especially if the judge model is not aligned with the policy itself. Further, the judge model may be biased towards the policy, leading to overly conservative evaluations. In our case study, we do highlight the fact that our judge was simply focused on the policy-alignment aspect of the responses completely neglecting the quality of the responses themselves, i.e. while our fine-tuned model may be more aligned with the policy than the base model, we actually have no evidence that our model is helpful at all.

        +

        The LLM-as-judge evaluation methodology is a powerful tool for assessing model alignment. However, it does have limitations [Chen et al., 2024]. For instance, the judge model may not always be able to accurately evaluate the alignment of the model, especially if the judge model is not aligned with the policy itself. Further, the judge model may be biased towards the policy, leading to overly conservative evaluations. In our case study, we do highlight the fact that our judge was simply focused on the policy-alignment aspect of the responses completely neglecting the quality of the responses themselves, i.e. while our fine-tuned model may be more aligned with the policy than the base model, we actually have no evidence that our model is helpful at all.

        A more robust evaluation approach would combine LLM-based evaluation with human domain experts in a complementary process. The LLM judge could perform initial high-throughput screening of model responses, flagging potential issues and providing preliminary assessments. These results would then be reviewed by human evaluators with relevant domain expertise who can provide nuanced judgment, catch edge cases, and validate the LLM’s evaluations. Additionally, automatic evaluation against standard benchmarks is advised to evaluate general capabilities of the model.

        DPO Dataset Composition

        The composition of the DPO dataset also plays a crucial role in model behavior. In preliminary experiments, using only policy-aligned preference data led to an overly apologetic model that was hesitant to provide helpful responses even for benign queries, i.e. the model was overfitting to the policy. In fact, a model that simply refused to provide an useful response and instead apologized would indeed be aligned with the policy and therefore rewarded accordingly. This led to our decision to construct a more well balanced dataset.

        -

        Blending our policy-focused dataset with the more general-purpose UltraFeedback dataset from Hugging Face H4 [H4, 2024a] dramatically improved results by helping the model maintain helpfulness while learning appropriate safety boundaries. The results reported here reflect this balanced dataset approach.

        +

        Blending our policy-focused dataset with the more general-purpose UltraFeedback dataset from Hugging Face H4 [H4, 2024a] dramatically improved results by helping the model maintain helpfulness while learning appropriate safety boundaries. The results reported here reflect this balanced dataset approach.

        The construction of the DPO dataset is perhaps the most critical component of the alignment process. While automated approaches can help scale dataset creation, the involvement of domain experts in dataset construction is highly recommended. Domain experts bring invaluable knowledge about edge cases, nuanced policy interpretations, and real-world usage patterns that may not be captured by synthetic data generation alone. Organizations implementing alignment techniques should consider investing in domain expert involvement during dataset construction as a key success factor.

        Fine-tuning Process

        The effectiveness of DPO training can be highly sensitive to various fine-tuning hyperparameters. As we mentioned before, the batch size and the beta parameter are two key parameters that can significantly impact training stability and model behavior. A careful parameter tuning is required to achieve optimal results, which lacked in our case study.

        @@ -2424,159 +2424,159 @@

        -

        7.6. References

        +

        7.6. References

        -
        +
        [ABC+4a] (1,2,3)

        Amanda Askell, Jan Brauner, Adrian Colyer, Benjamin Cullen, David Duvenaud, Richard Ngo, Azalia Mirhoseini, Catherine Olsson, Sam Ringer, Liam Skirvin, Jess Smith, Dawn Song, William Saunders, and Jacob Steinhardt. Alignment faking in large language models. 2024a. URL: https://assets.anthropic.com/m/983c85a201a962f/original/Alignment-Faking-in-Large-Language-Models-full-paper.pdf.

        -
        +
        [ABC+4b]

        Amanda Askell, Jan Brauner, Adrian Colyer, Benjamin Cullen, David Duvenaud, Richard Ngo, Azalia Mirhoseini, Catherine Olsson, Sam Ringer, Liam Skirvin, Jess Smith, Dawn Song, William Saunders, and Jacob Steinhardt. Alignment faking in large language models: reviews. 2024b. URL: https://assets.anthropic.com/m/24c8d0a3a7d0a1f1/original/Alignment-Faking-in-Large-Language-Models-reviews.pdf.

        -
        +
        [BJN+22]

        Yuntao Bai, Andy Jones, Kamal Ndousse, Amanda Askell, Anna Chen, Nova DasSarma, Dawn Drain, Stanislav Fort, Deep Ganguli, Tom Henighan, Nicholas Joseph, Saurav Kadavath, Jackson Kernion, Tom Conerly, Sheer El-Showk, Nelson Elhage, Zac Hatfield-Dodds, Danny Hernandez, Tristan Hume, Scott Johnston, Shauna Kravec, Liane Lovitt, Neel Nanda, Catherine Olsson, Dario Amodei, Tom Brown, Jack Clark, Sam McCandlish, Chris Olah, Ben Mann, and Jared Kaplan. Training a helpful and harmless assistant with reinforcement learning from human feedback. 2022. URL: https://arxiv.org/abs/2204.05862, arXiv:2204.05862.

        -
        +
        [BKK+22]

        Yuntao Bai, Saurav Kadavath, Sandipan Kundu, Amanda Askell, Jackson Kernion, Andy Jones, Anna Chen, Anna Goldie, Azalia Mirhoseini, Cameron McKinnon, Carol Chen, Catherine Olsson, Christopher Olah, Danny Hernandez, Dawn Drain, Deep Ganguli, Dustin Li, Eli Tran-Johnson, Ethan Perez, Jamie Kerr, Jared Mueller, Jeffrey Ladish, Joshua Landau, Kamal Ndousse, Kamile Lukosuite, Liane Lovitt, Michael Sellitto, Nelson Elhage, Nicholas Schiefer, Noemi Mercado, Nova DasSarma, Robert Lasenby, Robin Larson, Sam Ringer, Scott Johnston, Shauna Kravec, Sheer El Showk, Stanislav Fort, Tamera Lanham, Timothy Telleen-Lawton, Tom Conerly, Tom Henighan, Tristan Hume, Samuel R. Bowman, Zac Hatfield-Dodds, Ben Mann, Dario Amodei, Nicholas Joseph, Sam McCandlish, Tom Brown, and Jared Kaplan. Constitutional ai: harmlessness from ai feedback. 2022. URL: https://arxiv.org/abs/2212.08073, arXiv:2212.08073.

        -
        +
        [Blo23]

        NeurIPS Blog. Announcing the neurips 2023 paper awards. 2023. NeurIPS 2023 Awards. URL: https://blog.neurips.cc/2023/12/11/announcing-the-neurips-2023-paper-awards/.

        -
        +
        [CCL+24]

        Guiming Hardy Chen, Shunian Chen, Ziche Liu, Feng Jiang, and Benyou Wang. Humans or llms as the judge? a study on judgement biases. 2024. URL: https://arxiv.org/abs/2402.10669, arXiv:2402.10669.

        -
        +
        [DPHZ23]

        Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, and Luke Zettlemoyer. Qlora: efficient finetuning of quantized llms. 2023. URL: https://arxiv.org/abs/2305.14314, arXiv:2305.14314.

        -
        +
        [DDZ+24] (1,2)

        Qingxiu Dong, Li Dong, Xingxing Zhang, Zhifang Sui, and Furu Wei. Self-boosting large language models with synthetic preference data. 2024. URL: https://arxiv.org/abs/2410.06961, arXiv:2410.06961.

        -
        -[Fac24] -

        Hugging Face. Zephyr. 2024. Zephyr. URL: https://huggingface.co/HuggingFaceH4/zephyr-7b-alpha.

        -
        -
        -[Fac4c] -

        Hugging Face. Rlhf. 2024c. RLHF. URL: https://huggingface.co/blog/rlhf.

        -
        -
        -[Fac4d] -

        Hugging Face. Trl. 2024d. TRL. URL: https://huggingface.co/docs/trl/en/index.

        -
        -
        +
        [FQH+24]

        Duanyu Feng, Bowen Qin, Chen Huang, Zheng Zhang, and Wenqiang Lei. Towards analyzing and understanding the limitations of dpo: a theoretical perspective. 2024. URL: https://arxiv.org/abs/2404.04626, arXiv:2404.04626.

        -
        +
        [H44a] (1,2) -

        Hugging Face H4. Ultrafeedback binarized dataset. 2024a. A dataset of binary preference data for training language models. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized.

        +

        HuggingFace H4. Ultrafeedback binarized dataset. 2024a. A dataset of binary preference data for training language models. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized.

        -
        +
        [H44b] -

        Hugging Face H4. Hugging face h4. 2024b. Hugging Face H4. URL: https://huggingface.co/HuggingFaceH4.

        +

        HuggingFace H4. Huggingface h4. 2024b. HuggingFace H4. URL: https://huggingface.co/HuggingFaceH4.

        -
        +
        [HHJ+24]

        Shuang Hao, Wenfeng Han, Tao Jiang, Yiping Li, Haonan Wu, Chunlin Zhong, Zhangjun Zhou, and He Tang. Synthetic data in ai: challenges, applications, and ethical implications. 2024. URL: https://arxiv.org/abs/2401.01629, arXiv:2401.01629.

        -
        +
        [HLT24]

        Jiwoo Hong, Noah Lee, and James Thorne. Orpo: monolithic preference optimization without reference model. 2024. URL: https://arxiv.org/abs/2403.07691, arXiv:2403.07691.

        -
        +
        [HDN+24]

        Zhenyu Hou, Pengfan Du, Yilin Niu, Zhengxiao Du, Aohan Zeng, Xiao Liu, Minlie Huang, Hongning Wang, Jie Tang, and Yuxiao Dong. Does rlhf scale? exploring the impacts from data, model, and method. 2024. URL: https://arxiv.org/abs/2412.06000, arXiv:2412.06000.

        -
        +
        [HSW+21]

        Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. Lora: low-rank adaptation of large language models. 2021. URL: https://arxiv.org/abs/2106.09685, arXiv:2106.09685.

        -
        +
        [HGH+22]

        Jiaxin Huang, Shixiang Shane Gu, Le Hou, Yuexin Wu, Xuezhi Wang, Hongkun Yu, and Jiawei Han. Large language models can self-improve. 2022. URL: https://arxiv.org/abs/2210.11610, arXiv:2210.11610.

        -
        +
        +[Hug24] +

        HuggingFace. Zephyr. 2024. Zephyr. URL: https://huggingface.co/HuggingFaceH4/zephyr-7b-alpha.

        +
        +
        +[Hug4c] +

        HuggingFace. Rlhf. 2024c. RLHF. URL: https://huggingface.co/blog/rlhf.

        +
        +
        +[Hug4d] +

        HuggingFace. Trl. 2024d. TRL. URL: https://huggingface.co/docs/trl/en/index.

        +
        +
        [Huy24]

        Chip Huyen. AI Engineering. O'Reilly Media, Inc., December 2024. ISBN 9781098129095. URL: https://www.oreilly.com/library/view/ai-engineering/9781098129095/.

        -
        +
        [KSD+24]

        Joshua Kazdan, Rylan Schaeffer, Apratim Dey, Matthias Gerstgrasser, Rafael Rafailov, David L. Donoho, and Sanmi Koyejo. Collapse or thrive? perils and promises of synthetic data in a self-generating world. 2024. URL: https://arxiv.org/abs/2410.16713, arXiv:2410.16713.

        -
        +
        [KSY+24]

        Seungone Kim, Juyoung Suk, Xiang Yue, Vijay Viswanathan, Seongyun Lee, Yizhong Wang, Kiril Gashteovski, Carolin Lawrence, Sean Welleck, and Graham Neubig. Evaluating language models as synthetic data generators. 2024. URL: https://arxiv.org/abs/2412.03679, arXiv:2412.03679.

        -
        +
        [LT24]

        AI @ Meta Llama Team. The llama 3 herd of models. 2024. URL: https://arxiv.org/abs/2407.21783, arXiv:2407.21783.

        -
        +
        [LWX+24]

        Lin Long, Rui Wang, Ruixuan Xiao, Junbo Zhao, Xiao Ding, Gang Chen, and Haobo Wang. On llms-driven synthetic data generation, curation, and evaluation: a survey. 2024. URL: https://arxiv.org/abs/2406.15126, arXiv:2406.15126.

        -
        +
        [Met24]

        Meta. Meta-llama. 2024. Meta-Llama. URL: https://huggingface.co/meta-llama.

        -
        +
        [OWJ+22] (1,2,3,4,5,6,7)

        Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, and Ryan Lowe. Training language models to follow instructions with human feedback. 2022. URL: https://arxiv.org/abs/2203.02155, arXiv:2203.02155.

        -
        +
        [Qwe24]

        Qwen. Qwen. 2024. Qwen. URL: https://huggingface.co/Qwen.

        -
        +
        [RSM+24] (1,2,3,4)

        Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, and Chelsea Finn. Direct preference optimization: your language model is secretly a reward model. 2024. URL: https://arxiv.org/abs/2305.18290, arXiv:2305.18290.

        -
        +
        [SWD+17]

        John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal policy optimization algorithms. 2017. URL: https://arxiv.org/abs/1707.06347, arXiv:1707.06347.

        -
        +
        [SmolLM224] (1,2) -

        Hugging Face SmolLM2. Smollm: a small language model distilled from a larger language model for task-specific applications. 2024. Blog post describing techniques for distilling smaller, task-specific language models. URL: https://huggingface.co/blog/smollm.

        +

        HuggingFace SmolLM2. Smollm: a small language model distilled from a larger language model for task-specific applications. 2024. Blog post describing techniques for distilling smaller, task-specific language models. URL: https://huggingface.co/blog/smollm.

        -
        +
        [SmolLM2360MI24] -

        Hugging Face SmolLM2-360M-Instruct. Smollm2-360m-instruct. 2024. 360M parameter instruction-tuned language model, distilled for efficient deployment. URL: https://huggingface.co/HuggingFaceTB/SmolLM2-360M-Instruct.

        +

        HuggingFace SmolLM2-360M-Instruct. Smollm2-360m-instruct. 2024. 360M parameter instruction-tuned language model, distilled for efficient deployment. URL: https://huggingface.co/HuggingFaceTB/SmolLM2-360M-Instruct.

        -
        +
        [Sou24]

        Tharsis T. P. Souza. Tamingllms: a framework for evaluating and aligning language models. 2024. URL: https://www.souzatharsis.com/tamingLLMs/notebooks/evals.html.

        -
        +
        [SRvERH24]

        Márton Szép, Daniel Rueckert, Rüdiger von Eisenhart-Rothe, and Florian Hinterwimmer. A practical guide to fine-tuning language models with limited data. 2024. URL: https://arxiv.org/abs/2411.09539, arXiv:2411.09539.

        -
        +
        [TMS+23]

        Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, Dan Bikel, Lukas Blecher, Cristian Canton Ferrer, Moya Chen, Guillem Cucurull, David Esiobu, Jude Fernandes, Jeremy Fu, Wenyin Fu, Brian Fuller, Cynthia Gao, Vedanuj Goswami, Naman Goyal, Anthony Hartshorn, Saghar Hosseini, Rui Hou, Hakan Inan, Marcin Kardas, Viktor Kerkez, Madian Khabsa, Isabel Kloumann, Artem Korenev, Punit Singh Koura, Marie-Anne Lachaux, Thibaut Lavril, Jenya Lee, Diana Liskovich, Yinghai Lu, Yuning Mao, Xavier Martinet, Todor Mihaylov, Pushkar Mishra, Igor Molybog, Yixin Nie, Andrew Poulton, Jeremy Reizenstein, Rashi Rungta, Kalyan Saladi, Alan Schelten, Ruan Silva, Eric Michael Smith, Ranjan Subramanian, Xiaoqing Ellen Tan, Binh Tang, Ross Taylor, Adina Williams, Jian Xiang Kuan, Puxin Xu, Zheng Yan, Iliyan Zarov, Yuchen Zhang, Angela Fan, Melanie Kambadur, Sharan Narang, Aurelien Rodriguez, Robert Stojnic, Sergey Edunov, and Thomas Scialom. Llama 2: open foundation and fine-tuned chat models. 2023. URL: https://arxiv.org/abs/2307.09288, arXiv:2307.09288.

        -
        +
        [VAA+24]

        Bertie Vidgen, Adarsh Agrawal, Ahmed M. Ahmed, Victor Akinwande, Namir Al-Nuaimi, Najla Alfaraj, Elie Alhajjar, Lora Aroyo, Trupti Bavalatti, Max Bartolo, Borhane Blili-Hamelin, Kurt Bollacker, Rishi Bomassani, Marisa Ferrara Boston, Siméon Campos, Kal Chakra, Canyu Chen, Cody Coleman, Zacharie Delpierre Coudert, Leon Derczynski, Debojyoti Dutta, Ian Eisenberg, James Ezick, Heather Frase, Brian Fuller, Ram Gandikota, Agasthya Gangavarapu, Ananya Gangavarapu, James Gealy, Rajat Ghosh, James Goel, Usman Gohar, Sujata Goswami, Scott A. Hale, Wiebke Hutiri, Joseph Marvin Imperial, Surgan Jandial, Nick Judd, Felix Juefei-Xu, Foutse Khomh, Bhavya Kailkhura, Hannah Rose Kirk, Kevin Klyman, Chris Knotz, Michael Kuchnik, Shachi H. Kumar, Srijan Kumar, Chris Lengerich, Bo Li, Zeyi Liao, Eileen Peters Long, Victor Lu, Sarah Luger, Yifan Mai, Priyanka Mary Mammen, Kelvin Manyeki, Sean McGregor, Virendra Mehta, Shafee Mohammed, Emanuel Moss, Lama Nachman, Dinesh Jinenhally Naganna, Amin Nikanjam, Besmira Nushi, Luis Oala, Iftach Orr, Alicia Parrish, Cigdem Patlak, William Pietri, Forough Poursabzi-Sangdeh, Eleonora Presani, Fabrizio Puletti, Paul Röttger, Saurav Sahay, Tim Santos, Nino Scherrer, Alice Schoenauer Sebag, Patrick Schramowski, Abolfazl Shahbazi, Vin Sharma, Xudong Shen, Vamsi Sistla, Leonard Tang, Davide Testuggine, Vithursan Thangarasa, Elizabeth Anne Watkins, Rebecca Weiss, Chris Welty, Tyler Wilbers, Adina Williams, Carole-Jean Wu, Poonam Yadav, Xianjun Yang, Yi Zeng, Wenhui Zhang, Fedor Zhdanov, Jiacheng Zhu, Percy Liang, Peter Mattson, and Joaquin Vanschoren. Introducing v0.5 of the ai safety benchmark from mlcommons. 2024. URL: https://arxiv.org/abs/2404.12241, arXiv:2404.12241.

        -
        +
        [WYG+24]

        Tianhao Wu, Weizhe Yuan, Olga Golovneva, Jing Xu, Yuandong Tian, Jiantao Jiao, Jason Weston, and Sainbayar Sukhbaatar. Meta-rewarding language models: self-improving alignment with llm-as-a-meta-judge. 2024. URL: https://arxiv.org/abs/2407.19594, arXiv:2407.19594.

        -
        +
        [YWX+24]

        Yueqin Yin, Zhendong Wang, Yujia Xie, Weizhu Chen, and Mingyuan Zhou. Self-augmented preference optimization: off-policy paradigms for language model alignment. ArXiv, 2024. URL: https://api.semanticscholar.org/CorpusID:270199610.

        diff --git a/tamingllms/_build/html/notebooks/cost.html b/tamingllms/_build/html/notebooks/cost.html index 459ba23..2764706 100644 --- a/tamingllms/_build/html/notebooks/cost.html +++ b/tamingllms/_build/html/notebooks/cost.html @@ -247,7 +247,7 @@
        -

        9. The Falling Cost Paradox

        +

        9. The Falling Cost Paradox

        -

        9.1. Why Optimization Matters More Than Ever

        -

        According to recent analysis from a16z [Andreessen Horowitz, 2024], the cost of LLM inference is decreasing by approximately 10x every year - a rate that outpaces even Moore’s Law in the PC revolution or Edholm’s Law during the bandwidth explosion of the dot-com era.

        +

        9.1. Why Optimization Matters More Than Ever

        +

        According to recent analysis from a16z [Andreessen Horowitz, 2024], the cost of LLM inference is decreasing by approximately 10x every year - a rate that outpaces even Moore’s Law in the PC revolution or Edholm’s Law during the bandwidth explosion of the dot-com era.

        LLMflation
        -

        Fig. 9.1 LLMflation [Andreessen Horowitz, 2024]: The cost of LLM inference is decreasing by approximately 10x every year.

        +

        Fig. 9.1 LLMflation [Andreessen Horowitz, 2024]: The cost of LLM inference is decreasing by approximately 10x every year.

        A model achieving an MMLU score of 42 that cost \(60 per million tokens in late 2021 can now be run for just \)0.06 per million tokens. For higher-capability models scoring 83 on MMLU, prices have fallen by a factor of 62 since GPT-4’s introduction in March 2023.

        @@ -345,16 +345,16 @@

        9.2. Right-Sizing LLMs: A Strategic Approach

        +

        9.2. Right-Sizing LLMs: A Strategic Approach

        Before implementing cost optimization strategies for LLMs, organizations must develop a comprehensive understanding of their own requirements and constraints. This systematic approach prevents both over-engineering and under-provisioning, leading to more efficient and cost-effective implementations.

        In this section, we define key performance and cost related metrics that will guide our discussion. Then we propose a set of requirements practitioners should consider before we dive into cost optimization techniques.

        -

        9.2.1. Metrics

        +

        9.2.1. Metrics

        -

        9.2.2. Requirements

        +

        9.2.2. Requirements

        -

        9.2.2.1. Business Requirements

        +

        9.2.2.1. Business Requirements

        First, one needs to define the problem to be solved and to what extent it is worth to be solved. Use case requirements form the foundation of any LLM implementation project. A clear definition of the specific business problema and task to be accomplished must be established upfront, along with concrete performance metrics covering accuracy, latency and throughput. This should be accompanied by well-defined cost-per-transaction targets, clear ROI expectations, and a strategic allocation of budgets across different use cases to ensure resources are optimally distributed.

        Budget and ROI considerations are critical for ensuring the long-term viability of LLM implementations. Organizations must establish clear spending limits that align with their financial capabilities while defining realistic cost-per-transaction targets. ROI expectations need to be carefully established through detailed analysis, followed by a strategic allocation of budgets across various use cases based on their business impact and priority.

        Compliance and security requirements cannot be overlooked. This involves a thorough identification of all applicable regulatory requirements and the establishment of robust data handling standards. Organizations must specify comprehensive audit requirements to maintain transparency and accountability, while implementing appropriate security controls to protect sensitive data and system access.

        @@ -362,17 +362,17 @@

        Local LLMs in Practice provides a detailed discussion on relevant considerations when Choosing your Model.

        -

        9.2.2.2. Performance Requirements

        +

        9.2.2.2. Performance Requirements

        Accuracy and quality form the foundation of any LLM deployment’s performance requirements. At its core, this involves determining the minimum level of accuracy that the model must achieve to be considered successful. This serves as a critical baseline for evaluating model performance and making deployment decisions. Establishing clear evaluation metrics, whether through automated measures or human evaluation processes, provides concrete ways to assess if these thresholds are being met. Continuous monitoring of these accuracy metrics ensures the system maintains its performance over time as usage patterns and data distributions evolve. Chapter The Evals Gap provides a detailed discussion on how to evaluate the performance of LLM-based applications.

        Latency and throughput requirements are equally crucial for ensuring a positive user experience and system reliability. These specifications define how quickly the system must respond to requests and how many concurrent users it can handle. Response time requirements must be carefully balanced against the computational resources available, while peak load capabilities need to account for usage spikes and growth patterns. The decision between real-time processing for immediate responses versus batch processing for efficiency depends heavily on the use case and user expectations.

        -

        9.2.2.3. Operational Requirements

        +

        9.2.2.3. Operational Requirements

        Scale and capacity planning forms the foundation of operational requirements for LLM deployments. This involves a comprehensive analysis of expected system usage and growth patterns to ensure the infrastructure can handle both current and future demands. Organizations must carefully project their daily and monthly API call volumes while calculating the average number of tokens per request to accurately estimate resource needs. Understanding usage patterns, including seasonal variations, enables proper capacity planning. Additionally, developing 12-24 month growth projections helps ensure the infrastructure can scale appropriately as demand increases.

        Reliability and availability requirements are equally critical for maintaining consistent service quality. These specifications define the expected uptime percentage that the system must maintain, typically expressed as a percentage of total operational time. Organizations need to establish clear maintenance windows that minimize disruption to users while ensuring necessary system updates and optimizations can be performed. Comprehensive backup and failover requirements must be specified to ensure business continuity in case of failures. High availability needs should be clearly defined, including redundancy levels and recovery time objectives, to maintain service quality even during unexpected events.

        -

        9.2.2.4. Technical Requirements

        +

        9.2.2.4. Technical Requirements

        System integration requirements define how the LLM system will interact and communicate with existing infrastructure and applications. This involves carefully mapping all integration points where the LLM system needs to connect with other systems, establishing standardized data formats and interfaces for seamless communication, implementing robust security measures to protect data in transit, and identifying any technical constraints that could impact integration. Getting these integration requirements right is crucial for ensuring the LLM system can function effectively within the broader technical ecosystem.

        Data management requirements address how information will be stored, processed, and maintained within the LLM system. This encompasses determining appropriate storage solutions for maintaining conversation context and history, selecting and configuring vector databases to enable efficient retrieval-augmented generation (RAG), creating comprehensive data retention policies that balance operational needs with resource constraints, and ensuring all data handling practices comply with relevant privacy regulations. Proper data management is essential for both system performance and regulatory compliance, making it a critical consideration in any LLM implementation.

        This structured approach to requirements analysis enables organizations to:

        @@ -387,7 +387,7 @@

        -

        9.3. Quantization

        +

        9.3. Quantization

        Quantization is a common and relevant technique in making LLMs more efficient and accessible. At a high level, quantization reduces the number of bits used to represent a model’s parameters. The most common form of quantization is to represent model’s weights at lower precision at post-training phase. It has become a standard technique to generate a series of quantized models given a large pre-trained base model.

        While a standard pre-trained LLM might use 32-bit floating-point (FP32) or 16-bit floating-point (FP16) numbers to store its weights, quantized versions can operate at lower precision levels such as 8, 4 or even 2 bits per parameter, reducing memory footprint without proportional losses in performance, necessarily. For instance, for a model of 30 billion parameters, using FP32 means 4 bytes per weight or 120 GB for the whole weights. If the model is quantized such that weights are represented in 1 byte, the memory needed for the model’s weights decreases to 30 GB, hence potentially fitting into consumer grade hardware. This is done at the cost of precision loss, but the trade-off is often worth it though require careful analysis.

        Let’s take a look at model weights of a language model (SmolLM2-135M-Instruct) that has been quantized to 2-bit and 16-bit precisions. We will use an utility function load_gguf from the taming_utils package to load model weights of the quantized models directly from Hugging Face.

        @@ -483,21 +483,21 @@

        [Unsloth, 2024] [2]. The model’s memory requirements vary significantly based on the quantization level used as demonstrated in Fig. 9.2.

        +

        Quantization[2] is a powerful technique for reducing the memory footprint of LLMs. This can be exemplified by the case of LLaMa 3.3 70B as quantized by [Unsloth, 2024] [3]. The model’s memory requirements vary significantly based on the quantization level used as demonstrated in Fig. 9.2.

        Quantized Model Size

        Fig. 9.2 Quantized Model Size: unsloth/Llama-3.3-70B-Instruct-GGUF

        -

        We observe that the quantization process yields remarkable reductions in model size, demonstrating a clear trade-off between precision and memory requirements. The transition from F16 (141.1 GB) to Q8_0 (75 GB) achieves a dramatic 47% reduction in model size while maintaining relatively high numerical precision. Further quantization levels reveal an interesting pattern of diminishing returns - each step down in precision yields progressively smaller absolute size reductions, though the cumulative effect remains significant. At the extreme end, the Q2_K model (26.4 GB) requires only 19% of the storage space of its F16 counterpart [3].

        +

        We observe that the quantization process yields remarkable reductions in model size, demonstrating a clear trade-off between precision and memory requirements. The transition from F16 (141.1 GB) to Q8_0 (75 GB) achieves a dramatic 47% reduction in model size while maintaining relatively high numerical precision. Further quantization levels reveal an interesting pattern of diminishing returns - each step down in precision yields progressively smaller absolute size reductions, though the cumulative effect remains significant. At the extreme end, the Q2_K model (26.4 GB) requires only 19% of the storage space of its F16 counterpart [4].

        This wide spectrum of model sizes enables deployment across diverse hardware environments. The lightweight Q2_K variant opens possibilities for running inference on consumer-grade hardware like high-end laptops or desktop computers. In contrast, the full-precision F16 model demands enterprise-grade computing resources with substantial memory capacity. This flexibility in deployment options makes quantization a powerful tool for democratizing access to large language models while managing computational costs.

        -

        While quantization has proven highly effective, there is a limit to how far it can be pushed - specifically, the 1-bit ceiling. A notable advancement in this space is BitNet [Wang et al., 2024] which pushes the boundaries of extreme quantization.

        +

        While quantization has proven highly effective, there is a limit to how far it can be pushed - specifically, the 1-bit ceiling. A notable advancement in this space is BitNet [Wang et al., 2024] which pushes the boundaries of extreme quantization.

        BitNet’s implementation, bitnet.cpp, has demonstrated significant performance improvements across both ARM and x86 architectures (see Fig. 9.3). When compared to llama.cpp, the framework achieves speedups ranging from 1.37x to 5.07x on ARM processors and 2.37x to 6.17x on x86 systems. These performance gains scale with model size - larger models benefit more substantially from BitNet’s optimizations. The efficiency improvements extend beyond raw speed: energy consumption drops by 55-70% on ARM and 71-82% on x86 processors. Perhaps most impressively, bitnet.cpp enables running a 100B parameter BitNet b1.58 model on a single CPU at speeds matching human reading pace (5-7 tokens per second).

        BitNet
        -

        Fig. 9.3 BitNet: [Wang et al., 2024]

        +

        Fig. 9.3 BitNet: [Wang et al., 2024]

        The framework’s initial release focused on CPU inference optimization, with particular emphasis on 1-bit LLM architectures (BitNet b1.58). While initial testing shows promising results, these findings are specific to the tested models and kernels (its specialized kernels are carefully crafted to exploit the unique characteristics of these extremely quantized models). Further validation is needed before generalizing these results across different architectures and use cases.

        @@ -506,7 +506,7 @@

        Local LLMs in Practice for more details.

        -

        9.4. Check-list

        +

        9.4. Check-list

        Planning and Requirements

        • Start with a clear understanding of your application’s needs and the factors that contribute to LLM costs

        • @@ -540,7 +540,7 @@

          -

          9.5. Conclusion

          +

          9.5. Conclusion

          CC BY-NC-SA 4.0

          @misc{tharsistpsouza2024tamingllms,
             author = {Tharsis T. P. Souza},
          @@ -554,25 +554,25 @@ 

          -

          9.6. References

          -
          -
          +

          9.6. References

          +
          +
          [WZS+24] -(1,2) +(1,2)

          Jinheng Wang, Hansong Zhou, Ting Song, Shaoguang Mao, Shuming Ma, Hongyu Wang, Yan Xia, and Furu Wei. 1-bit ai infra: part 1.1, fast and lossless bitnet b1.58 inference on cpus. 2024. URL: https://arxiv.org/abs/2410.16144, arXiv:2410.16144.

          -
          +
          [AndreessenHorowitz24] (1,2)

          Andreessen Horowitz. Llmflation: understanding and mitigating llm inference cost. Blog Post, 2024. Analysis of LLM inference costs and strategies for optimization. URL: https://a16z.com/llmflation-llm-inference-cost/.

          -
          -[HuggingFace4w] -

          Hugging Face. Gguf quantization types. Online Documentation, 2024w. Documentation on different quantization types available for GGUF models. URL: https://huggingface.co/docs/hub/gguf#quantization-types.

          +
          +[HuggingFace4w] +

          HuggingFace. Gguf quantization types. Online Documentation, 2024w. Documentation on different quantization types available for GGUF models. URL: https://huggingface.co/docs/hub/gguf#quantization-types.

          -
          -[Unsloth24] -

          Unsloth. Llama-3.3-70b-instruct-gguf. Hugging Face Model, 2024. GGUF quantized version of Meta's Llama 3.3 70B instruction-tuned model. URL: https://huggingface.co/unsloth/Llama-3.3-70B-Instruct-GGUF.

          +
          +[Unsloth24] +

          Unsloth. Llama-3.3-70b-instruct-gguf. HuggingFace Model, 2024. GGUF quantized version of Meta's Llama 3.3 70B instruction-tuned model. URL: https://huggingface.co/unsloth/Llama-3.3-70B-Instruct-GGUF.

          @@ -582,13 +582,17 @@

          [1]

          Quote from Jonathan Ross, CEO of Groq, a company that specializes in AI Inference services.

          +

        diff --git a/tamingllms/_build/html/notebooks/evals.html b/tamingllms/_build/html/notebooks/evals.html index f039449..e4294fb 100644 --- a/tamingllms/_build/html/notebooks/evals.html +++ b/tamingllms/_build/html/notebooks/evals.html @@ -260,7 +260,7 @@
        -

        3. The Evals Gap

        +

        3. The Evals Gap

        It doesn’t matter how beautiful your theory is,
        it doesn’t matter how smart you are.
        @@ -270,48 +270,48 @@

        -

        3.1. Introduction

        +

        3.1. Introduction

        The advent of LLMs marks a pivotal shift in the landscape of software development, testing and verification. Unlike traditional software systems, where deterministic outputs are the norm, LLMs introduce a realm of non-deterministic and generative behaviors that challenge conventional software engineering paradigms. This shift is not merely a technical evolution but a fundamental transformation in how we conceive, build, and assess software products.

        For those entrenched in traditional methodologies, the transition to LLM-driven systems may seem daunting. However, ignoring this change is not an option. The reliance on outdated testing frameworks that fail to account for the probabilistic nature of LLMs will inevitably lead to significant setbacks.

        To overcome these challenges, it is imperative to embrace the complexities of LLMs with a proactive mindset. This involves developing robust evaluation frameworks up-front that incorporate the generative nature of LLM-based software development while fostering a culture of continuous change, learning and adaptation.

        -

        3.2. Non-Deterministic Generative Machines

        +

        3.2. Non-Deterministic Generative Machines

        One of the most fundamental challenges when building products with LLMs is their generative and non-deterministic nature. Unlike traditional software systems where the same input reliably produces the same output, LLMs can generate novel text that may not exist in their training data, and produce different responses each time they’re queried - even with identical prompts and input data. This behavior is both a strength and a significant engineering and product challenge.

        When you ask an LLM the same question multiple times, you’ll likely get different responses. This isn’t a bug - it’s a fundamental feature of how these models work. The “temperature” parameter, which controls the randomness of outputs, allows models to be creative and generate diverse responses. However, this same feature makes it difficult to build reliable, testable systems.

        Consider a financial services company using LLMs to generate investment advice. The non-deterministic nature of these models means that:

        @@ -325,7 +325,7 @@

      2. Calculates probability distributions for each next token

      3. Samples from these distributions based on temperature settings

      4. -
      5. Uses techniques like nucleus sampling [Holtzman et al., 2020] or top-k sampling to balance creativity and coherence

      6. +
      7. Uses techniques like nucleus sampling [Holtzman et al., 2020] or top-k sampling to balance creativity and coherence

      In this simple experiment, we use an LLM to write a single-statement executive summary from an input financial filing. We observe that even a simple parameter like temperature can dramatically alter model behavior in ways that are difficult to systematically assess. At temperature 0.0, responses are consistent but potentially too rigid. At 1.0, outputs become more varied but less predictable. At 2.0, responses can be wildly different and often incoherent. This non-deterministic behavior makes traditional software testing approaches inadequate.

      @@ -437,7 +437,7 @@

      [Raschka, 2024]:

      +

      A temperature of 1 represents the unscaled probability scores for each token in the vocabulary. Decreasing the temperature closer to 0 sharpens the distribution, so the most likely token will have an even higher probability score. Conversely, increasing the temperature makes the distribution more uniform [Raschka, 2024]:

      • Temperature = 0: Most deterministic, but potentially repetitive

      • Temperature = 1: Balanced creativity and coherence

      • @@ -446,19 +446,19 @@

        -

        3.3. Emerging Properties

        +

        3.3. Emerging Properties

        Beyond their non-deterministic nature, LLMs present another fascinating characteristic: emergent abilities that spontaneously arise as models scale up in size. These abilities - from basic question answering to complex reasoning - aren’t explicitly programmed but rather emerge “naturally” as the models grow larger and are trained on more data. This makes evaluation fundamentally different from traditional software testing, where capabilities are explicitly coded and can be tested against pre-defined specifications.

        -

        Fig. 3.1 provides a list of emergent abilities of large language models and the scale [Wei et al., 2022]. The relationship between model scale and emergent abilities follows a fascinating non-linear pattern. Below certain size thresholds, specific abilities may be completely absent from the model - it simply cannot perform certain tasks, no matter how much you try to coax them out. However, once the model reaches critical points in its scaling journey, these abilities can suddenly manifest in what researchers call a phase transition - a dramatic shift from inability to capability. This unpredictable emergence of capabilities stands in stark contrast to traditional software development, where features are deliberately implemented and can be systematically tested.

        +

        Fig. 3.1 provides a list of emergent abilities of large language models and the scale [Wei et al., 2022]. The relationship between model scale and emergent abilities follows a fascinating non-linear pattern. Below certain size thresholds, specific abilities may be completely absent from the model - it simply cannot perform certain tasks, no matter how much you try to coax them out. However, once the model reaches critical points in its scaling journey, these abilities can suddenly manifest in what researchers call a phase transition - a dramatic shift from inability to capability. This unpredictable emergence of capabilities stands in stark contrast to traditional software development, where features are deliberately implemented and can be systematically tested.

        Emerging Properties
        -

        Fig. 3.1 Emergent abilities of large language models and the scale [Wei et al., 2022].

        +

        Fig. 3.1 Emergent abilities of large language models and the scale [Wei et al., 2022].

        The implications for evaluation are critical. While conventional software testing relies on stable test suites and well-defined acceptance criteria, LLM evaluation must contend with a constantly shifting landscape of capabilities. What worked to evaluate a 7B parameter model may be completely inadequate for a 70B parameter model that has developed new emergent abilities. This dynamic nature of LLM capabilities forces us to fundamentally rethink our approach to testing and evaluation.

        -

        3.4. Problem Statement

        +

        3.4. Problem Statement

        Consider a practical example that illustrates these challenges: building a Math AI tutoring system for children powered by an LLM. In traditional software development, you would define specific features (like presenting math problems or checking answers) and write tests to verify each function. But with LLMs, you’re not just testing predefined features - you’re trying to evaluate emergent capabilities like adapting explanations to a child’s level, maintaining engagement through conversational learning, and providing age-appropriate safety-bound content.

        This fundamental difference raises critical questions about evaluation:

          @@ -508,7 +508,7 @@

          -

          3.5. Evals Design

          +

          3.5. Evals Design

          First, it’s important to make a distinction between evaluating an LLM versus evaluating an LLM-based application. While the former offers foundation capabilities and are typically general-purpose, the latter is more specific and tailored to a particular use case. Here, we define an LLM-based application as a system that uses one or more LLMs to perform a specific task. More specifically, an LLM-based application is the combination of one or more LLM models, their associated prompts and parameters to solve a particular business problem.

          That differentiation is important because it changes the scope of evaluation. LLMs are usually evaluated based on their capabilities, which include things like language understanding, reasoning and knowledge. LLM-based applications, instead, should be evaluated based on their end-to-end functionality, performance, and how well they meet business requirements. That distinction has key implications for the design of evaluation systems:

        -

        3.7. Evaluators

        +

        3.7. Evaluators

        -

        3.7.1. Model-Based Evaluation

        +

        3.7.1. Model-Based Evaluation

        Traditional metrics like BLEU or ROUGE often fall short in capturing the nuanced, contextual, and creative outputs of LLMs. As an alternative we can consider a “Model-based evaluation” approach. A common approach is to use an LLM as a judge. This is an approach that leverages language models themselves to assess the quality of outputs from other language models. This method involves using a model (often a more capable one) to act as an automated judge, evaluating aspects like accuracy, coherence, and relevance of generated content. Unlike traditional metrics that rely on exact matching or statistical measures, model-based evaluation can capture nuanced aspects of language and provide more contextual assessment.

        -

        As discussed in the paper [Li et al., 2024], LLM-based evaluation approaches generally fall into two main categories:

        +

        As discussed in the paper [Li et al., 2024], LLM-based evaluation approaches generally fall into two main categories:

        1. Prompt-based evaluation: This involves using prompts to instruct existing LLMs to evaluate text quality without any fine-tuning. The evaluation can take several forms:

            @@ -1098,13 +1098,13 @@

            -Conceptual Overview +Conceptual Overview

            Fig. 3.4 Conceptual overview of LLM-as-a-Judge evaluation.

    Compared to traditional metrics, LLM-as-a-Judge evaluation offers a more sophisticated assessment framework by leveraging natural language criteria. While metrics focus on statistical measures, judge models excel at evaluating subjective qualities such as creativity, narrative flow, and contextual relevance - aspects that closely mirror human judgment. The judge model processes evaluation guidelines expressed in natural language, functioning similarly to a human reviewer interpreting assessment criteria. One notable consideration is that this approach requires careful prompt engineering to properly define and communicate the evaluation standards to the model.

    -

    Prompt Engineering can have a large impact on the quality of the evaluation [Li et al., 2024]. Hence, it’s worth noting key prompting best practices when designing LLM-as-a-judge evaluators [Face, 2024]:

    +

    Prompt Engineering can have a large impact on the quality of the evaluation [Li et al., 2024]. Hence, it’s worth noting key prompting best practices when designing LLM-as-a-judge evaluators [HuggingFace, 2024]:

    1. Use discrete integer scales (e.g., 1-5) rather than continuous ranges

    2. Provide clear rubrics that define what each score level means

    3. @@ -1310,12 +1310,12 @@

      gpt-3.5-turbo model had the lowest scores overall (expertise: 4, coherence: 5, fluency: 7, similarity: 2), particularly struggling with expertise and similarity to the benchmark. While it maintained reasonable fluency, the significant drop in similarity score suggests substantial deviation from the reference summary.

      The visualization helps highlight these differences across models and evaluation dimensions. A clear performance gradient is visible from gpt-4o-mini to gpt-3.5-turbo, with the latter showing marked degradation in most metrics.

      -

      Leveraging LLMs for evaluation has several limitations [Li et al., 2024]. Firstly, computational overhead should not be neglected given the inherent cost of running additional model inferences iterations. LLM evaluators can also exhibit various biases, including order bias (preferring certain sequence positions), egocentric bias (favoring outputs from similar models), and length bias. Further, there may be a tight dependency on prompt quality - small prompt variations may lead to substantially different outcomes. It is important to also note challenges around domain-specific evaluation in fields such as medicine, finance, law etc, where a general llm-as-a-judge approach may not be suitable.

      +

      Leveraging LLMs for evaluation has several limitations [Li et al., 2024]. Firstly, computational overhead should not be neglected given the inherent cost of running additional model inferences iterations. LLM evaluators can also exhibit various biases, including order bias (preferring certain sequence positions), egocentric bias (favoring outputs from similar models), and length bias. Further, there may be a tight dependency on prompt quality - small prompt variations may lead to substantially different outcomes. It is important to also note challenges around domain-specific evaluation in fields such as medicine, finance, law etc, where a general llm-as-a-judge approach may not be suitable.

      The LLM-as-a-Judge strategy can serve as a scalable and nuanced solution to evaluate LLM-based applications. While it does not entirely replace metrics-based or human-based approaches, it significantly augments evaluation workflows, especially in scenarios requiring evaluation of generative outputs. Future improvements in our example include integrating human oversight and refining LLMs for domain-specific evaluation tasks.

      -

      One open source solution trying to overcome some of these challenges is Glider [Deshpande et al., 2024], a 3B evaluator LLM that can score any text input and associated context on arbitrary user defined criteria. Glider is an LLM model trained on 685 domains and 183 criteria whose judgement scores show 91.3% agreement with human judgments, making it suitable for a diverse range of real world applications.

      +

      One open source solution trying to overcome some of these challenges is Glider [Deshpande et al., 2024], a 3B evaluator LLM that can score any text input and associated context on arbitrary user defined criteria. Glider is an LLM model trained on 685 domains and 183 criteria whose judgement scores show 91.3% agreement with human judgments, making it suitable for a diverse range of real world applications.

      -

      3.7.2. Evaluating Evaluators

      +

      3.7.2. Evaluating Evaluators

      We have discussed how LLMs can be used to evaluate LLM-based aplications. However, how can we evaluate the performance of LLMs that evaluate other LLMs? This is the question that meta evaluation aims to answer. Clearly, the discussion can become quite meta as we need to evaluate the performance of the evaluator to evaluate the performance of the evaluated model. However, one can make a case for two general options:

      1. Use a golden-standard dataset that is used to evaluate the performance of LLM evaluators using a “metrics-based” approach.

      2. @@ -1332,9 +1332,9 @@

        Fig. 3.5 Conceptual overview of LLMs Meta Evaluation.

        -

        An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is Judge Arena [Arena, 2024], which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in Fig. 3.6. Only after submitting a vote, users can see which models were actually doing the judging.

        +

        An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is Judge Arena [Arena, 2024], which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in Fig. 3.6. Only after submitting a vote, users can see which models were actually doing the judging.

        -Human-in-the-loop meta evaluation Conceptual Overview +Human-in-the-loop meta evaluation Conceptual Overview

        Fig. 3.6 Human-in-the-loop Meta Evaluation.

        @@ -1359,20 +1359,20 @@

        -

        3.8. Benchmarks and Leaderboards

        +

        3.8. Benchmarks and Leaderboards

        Benchmarks act as standardized tests for LLMs, evaluating their performance across a spectrum of tasks. These tasks simulate real-world applications such as answering questions, generating coherent text, solving mathematical problems, or even writing computer code. They also assess more abstract qualities like fairness, robustness, and cultural understanding.

        Benchmarks can be thought as comprehensive “exams” that probe different “subjects” in order to certify an LLM. They help researchers and developers compare models systematically, in a way LLM performance is comparable while enabling the identification of emergent behaviors or capabilities as models evolve in scale and sophistication.

        -

        The history of LLM benchmarks reflects the evolving priorities of artificial intelligence research, starting with foundational tasks and moving toward complex, real-world challenges. We can start in 2018 with the introduction of GLUE (General Language Understanding Evaluation) [Wang et al., 2019], which set a new standard for evaluating natural language understanding. GLUE measured performance on tasks like sentiment analysis and textual entailment, providing a baseline for assessing the fundamental capabilities of language models. Later, SuperGLUE [Wang et al., 2019] expanded on this foundation by introducing more nuanced tasks that tested reasoning and language comprehension at a deeper level, challenging the limits of models like BERT and its successors.

        -

        As AI capabilities grew, benchmarks evolved to capture broader and more diverse aspects of intelligence. BIG-Bench [Srivastava et al., 2023] marked a turning point by incorporating over 200 tasks, spanning arithmetic, logic, and creative problem-solving. This collaborative effort aimed to probe emergent abilities in large models, offering insights into how scale and complexity influence performance. Around the same time, specialized benchmarks like TruthfulQA [Lin et al., 2022] emerged, addressing the critical need for models to provide accurate and non-deceptive information in a world increasingly dependent on AI for factual content.

        -

        MMLU (Massive Multitask Language Understanding) [Hendrycks et al., 2021] launched in 2021, provided a rigorous test of a model’s multidisciplinary knowledge, covering 57 subjects from STEM fields to humanities and social sciences. Similarly, in 2022, Stanford’s HELM (Holistic Evaluation of Language Models) [Liang et al., 2023] set a new standard for multidimensional assessment. HELM expanded the scope of evaluation beyond accuracy, incorporating factors like fairness, robustness, and computational efficiency. This benchmark was designed to address societal concerns surrounding AI, emphasizing safety and inclusion alongside technical performance.

        -

        Specialized benchmarks like HumanEval (2021) [Chen et al., 2021] focused on domain-specific tasks, such as code generation, testing models’ ability to translate natural language descriptions into functional programming code. In contrast, LMSYS (2023) brought real-world applicability into focus by evaluating conversational AI through multi-turn dialogues. LMSYS prioritized coherence, contextual understanding, and user satisfaction, providing a practical lens for assessing models like GPT and Claude in dynamic settings.

        -

        The HuggingFace Open LLM [Face, 2024] Leaderboard stands out for its transparency and accessibility in the open-source community. This leaderboard evaluates a wide range of LLMs across diverse tasks, including general knowledge, reasoning, and code-writing. Its commitment to reproducibility ensures that results are verifiable, enabling researchers and practitioners to replicate findings. By focusing on open-source models, it democratizes AI research and fosters innovation across communities, making it a valuable resource for both academics and industry professionals.

        -

        The Chatbot Arena (2024) Leaderboard (an evolution of LMSYS) [Chiang et al., 2024] takes an alternative approach by measuring real-world performance through direct model comparisons. Its evaluation format compares models in live conversations, with human judges providing qualitative assessments. This methodology has gathered hundreds of thousands of human evaluations, offering specific insights into practical model performance. The emphasis on interactive capabilities makes it relevant for developing user-facing applications like virtual assistants and chatbots.

        -

        The AlpacaEval [Dubois et al., 2024] and MT-Bench [Zheng et al., 2023] Leaderboards implement automated evaluation using LLMs to assess model performance in multi-turn conversations. This approach enables consistent assessment of dialogue capabilities while reducing human bias. Their methodology measures key aspects of conversational AI, including contextual understanding and response consistency across multiple exchanges.

        -

        An important recent development was the release of Global-MMLU [Singh et al., 2024], an improved version of MMLU with evaluation coverage across 42 languages. This open dataset, built through collaboration between Argilla, the Hugging Face community, and researchers from leading institutions like Cohere For AI, Mila, MIT, and others, represents a significant step toward more inclusive multilingual LLM evaluation. Hundreds of contributors used Argilla to annotate MMLU questions, revealing that 85% of questions requiring specific cultural knowledge were Western-centric. The newly released dataset is divided into two key subsets: Culturally Agnostic questions that require no specific regional or cultural knowledge, and Culturally Sensitive questions that depend on dialect, cultural, or geographic knowledge. With high-quality translations available for 25 languages, Global-MMLU enables better understanding of LLM capabilities and limitations across different languages and cultural contexts.

        -

        A major challenge with these leaderboards and benchmarks is test set contamination - when test data ends up in newer models’ training sets, rendering the benchmarks ineffective. While some benchmarks try to address this through crowdsourced prompts and evaluations from humans or LLMs, these approaches introduce their own biases and struggle with difficult questions. LiveBench [White et al., 2024] represents a novel solution, designed specifically to be resilient to both contamination and evaluation biases. As the first benchmark with continuously updated questions from recent sources, automated objective scoring, and diverse challenging tasks across multiple domains, LiveBench maintains its effectiveness even as models improve. Drawing from recent math competitions, research papers, news, and datasets, it creates contamination-free versions of established benchmark tasks. Current results show even top models achieving considerably lower performance compared to other benchmarks, demonstrating LiveBench’s ability to meaningfully differentiate model capabilities with relatively lower saturation. With monthly updates and an open collaborative approach, LiveBench aims to provide sustained value for model evaluation as the field advances.

        -

        Another notable benchmark is ZebraLogic [Lin et al., 2024], which evaluates logical reasoning capabilities of LLMs through Logic Grid Puzzles - a type of Constraint Satisfaction Problem [Brailsford et al., 1999] commonly found in tests like the LSAT. These puzzles require assigning unique values to N houses across M different features based on given clues, demanding strategic reasoning and deduction to arrive at a unique correct solution. The benchmark’s programmatically generated puzzles range from 2x2 to 6x6 in size and test LLMs using one-shot examples with reasoning steps. While humans can solve these puzzles through strategic methods like reductio ad absurdum and elimination, LLMs demonstrate significant limitations in this type of logical reasoning. Even the best-performing model, Claude 3.5 Sonnet, only achieves 33.4% accuracy across all puzzles and 12.4% on hard puzzles, with smaller models (7-10B parameters) solving less than 1% of hard puzzles as of December 2024. These results reveal critical gaps in LLMs’ capabilities around counterfactual thinking, reflective reasoning, structured memorization, and compositional generalization.

        -

        A significant milestone in AI evaluation came with the launch of the The Alignment Research Center (ARC) Prize [Chollet, 2024] by ARC Prize Inc., a non-profit for the public advancement of open artificial general intelligence. Hosted by Mike Knoop (Co-founder, Zapier) and François Chollet (Creator of Keras), this prize represents a paradigm shift in how we evaluate language models. Rather than focusing on narrow performance metrics, the ARC Prize assesses what it calls “cognitive sufficiency” - a model’s ability to generate meaningful insights and tackle open-ended challenges. This new way to think about LLM evaluation emphasizes creative thinking, sophisticated reasoning, and the capacity to make genuinely useful contributions to human knowledge. Arguably, it is an attempt to define and measure a step towards what it means to achieve AGI (Artificial General Intelligence).

        +

        The history of LLM benchmarks reflects the evolving priorities of artificial intelligence research, starting with foundational tasks and moving toward complex, real-world challenges. We can start in 2018 with the introduction of GLUE (General Language Understanding Evaluation) [Wang et al., 2019], which set a new standard for evaluating natural language understanding. GLUE measured performance on tasks like sentiment analysis and textual entailment, providing a baseline for assessing the fundamental capabilities of language models. Later, SuperGLUE [Wang et al., 2019] expanded on this foundation by introducing more nuanced tasks that tested reasoning and language comprehension at a deeper level, challenging the limits of models like BERT and its successors.

        +

        As AI capabilities grew, benchmarks evolved to capture broader and more diverse aspects of intelligence. BIG-Bench [Srivastava et al., 2023] marked a turning point by incorporating over 200 tasks, spanning arithmetic, logic, and creative problem-solving. This collaborative effort aimed to probe emergent abilities in large models, offering insights into how scale and complexity influence performance. Around the same time, specialized benchmarks like TruthfulQA [Lin et al., 2022] emerged, addressing the critical need for models to provide accurate and non-deceptive information in a world increasingly dependent on AI for factual content.

        +

        MMLU (Massive Multitask Language Understanding) [Hendrycks et al., 2021] launched in 2021, provided a rigorous test of a model’s multidisciplinary knowledge, covering 57 subjects from STEM fields to humanities and social sciences. Similarly, in 2022, Stanford’s HELM (Holistic Evaluation of Language Models) [Liang et al., 2023] set a new standard for multidimensional assessment. HELM expanded the scope of evaluation beyond accuracy, incorporating factors like fairness, robustness, and computational efficiency. This benchmark was designed to address societal concerns surrounding AI, emphasizing safety and inclusion alongside technical performance.

        +

        Specialized benchmarks like HumanEval (2021) [Chen et al., 2021] focused on domain-specific tasks, such as code generation, testing models’ ability to translate natural language descriptions into functional programming code. In contrast, LMSYS (2023) brought real-world applicability into focus by evaluating conversational AI through multi-turn dialogues. LMSYS prioritized coherence, contextual understanding, and user satisfaction, providing a practical lens for assessing models like GPT and Claude in dynamic settings.

        +

        The HuggingFace Open LLM [HuggingFace, 2024] Leaderboard stands out for its transparency and accessibility in the open-source community. This leaderboard evaluates a wide range of LLMs across diverse tasks, including general knowledge, reasoning, and code-writing. Its commitment to reproducibility ensures that results are verifiable, enabling researchers and practitioners to replicate findings. By focusing on open-source models, it democratizes AI research and fosters innovation across communities, making it a valuable resource for both academics and industry professionals.

        +

        The Chatbot Arena (2024) Leaderboard (an evolution of LMSYS) [Chiang et al., 2024] takes an alternative approach by measuring real-world performance through direct model comparisons. Its evaluation format compares models in live conversations, with human judges providing qualitative assessments. This methodology has gathered hundreds of thousands of human evaluations, offering specific insights into practical model performance. The emphasis on interactive capabilities makes it relevant for developing user-facing applications like virtual assistants and chatbots.

        +

        The AlpacaEval [Dubois et al., 2024] and MT-Bench [Zheng et al., 2023] Leaderboards implement automated evaluation using LLMs to assess model performance in multi-turn conversations. This approach enables consistent assessment of dialogue capabilities while reducing human bias. Their methodology measures key aspects of conversational AI, including contextual understanding and response consistency across multiple exchanges.

        +

        An important recent development was the release of Global-MMLU [Singh et al., 2024], an improved version of MMLU with evaluation coverage across 42 languages. This open dataset, built through collaboration between Argilla, the Hugging Face community, and researchers from leading institutions like Cohere For AI, Mila, MIT, and others, represents a significant step toward more inclusive multilingual LLM evaluation. Hundreds of contributors used Argilla to annotate MMLU questions, revealing that 85% of questions requiring specific cultural knowledge were Western-centric. The newly released dataset is divided into two key subsets: Culturally Agnostic questions that require no specific regional or cultural knowledge, and Culturally Sensitive questions that depend on dialect, cultural, or geographic knowledge. With high-quality translations available for 25 languages, Global-MMLU enables better understanding of LLM capabilities and limitations across different languages and cultural contexts.

        +

        A major challenge with these leaderboards and benchmarks is test set contamination - when test data ends up in newer models’ training sets, rendering the benchmarks ineffective. While some benchmarks try to address this through crowdsourced prompts and evaluations from humans or LLMs, these approaches introduce their own biases and struggle with difficult questions. LiveBench [White et al., 2024] represents a novel solution, designed specifically to be resilient to both contamination and evaluation biases. As the first benchmark with continuously updated questions from recent sources, automated objective scoring, and diverse challenging tasks across multiple domains, LiveBench maintains its effectiveness even as models improve. Drawing from recent math competitions, research papers, news, and datasets, it creates contamination-free versions of established benchmark tasks. Current results show even top models achieving considerably lower performance compared to other benchmarks, demonstrating LiveBench’s ability to meaningfully differentiate model capabilities with relatively lower saturation. With monthly updates and an open collaborative approach, LiveBench aims to provide sustained value for model evaluation as the field advances.

        +

        Another notable benchmark is ZebraLogic [Lin et al., 2024], which evaluates logical reasoning capabilities of LLMs through Logic Grid Puzzles - a type of Constraint Satisfaction Problem [Brailsford et al., 1999] commonly found in tests like the LSAT. These puzzles require assigning unique values to N houses across M different features based on given clues, demanding strategic reasoning and deduction to arrive at a unique correct solution. The benchmark’s programmatically generated puzzles range from 2x2 to 6x6 in size and test LLMs using one-shot examples with reasoning steps. While humans can solve these puzzles through strategic methods like reductio ad absurdum and elimination, LLMs demonstrate significant limitations in this type of logical reasoning. Even the best-performing model, Claude 3.5 Sonnet, only achieves 33.4% accuracy across all puzzles and 12.4% on hard puzzles, with smaller models (7-10B parameters) solving less than 1% of hard puzzles as of December 2024. These results reveal critical gaps in LLMs’ capabilities around counterfactual thinking, reflective reasoning, structured memorization, and compositional generalization.

        +

        A significant milestone in AI evaluation came with the launch of the The Alignment Research Center (ARC) Prize [Chollet, 2024] by ARC Prize Inc., a non-profit for the public advancement of open artificial general intelligence. Hosted by Mike Knoop (Co-founder, Zapier) and François Chollet (Creator of Keras), this prize represents a paradigm shift in how we evaluate language models. Rather than focusing on narrow performance metrics, the ARC Prize assesses what it calls “cognitive sufficiency” - a model’s ability to generate meaningful insights and tackle open-ended challenges. This new way to think about LLM evaluation emphasizes creative thinking, sophisticated reasoning, and the capacity to make genuinely useful contributions to human knowledge. Arguably, it is an attempt to define and measure a step towards what it means to achieve AGI (Artificial General Intelligence).

        Defining AGI according to ARC Prize:

        Consensus but wrong:

        @@ -1401,21 +1401,21 @@

        [Chollet, 12/08/2024]. A key takeaway is that algorithmic improvements, rather than massive computational resources, may be key to exceeding the target score for the ARC-AGI benchmark.

        +

        The ARC-AGI benchmark remained unbeaten for five years as of December 2024 (a minimum score of 85% in the private dataset is required to win) [Chollet, 12/08/2024]. A key takeaway is that algorithmic improvements, rather than massive computational resources, may be key to exceeding the target score for the ARC-AGI benchmark.

        In addition to the benchmarks discussed above, a growing set of domain-specific benchmarks is emerging to help evaluate LLMs in specific verticals, including:

          -
        • FinBench [Zhang et al., 2024]: Evaluates LLMs in the financial domain, covering tasks such as terminology understanding, temporal reasoning, future forecasting, scenario planning, and numerical modelling.

        • -
        • LegalBench [Guha et al., 2023] : Assesses the legal reasoning abilities of LLMs through tasks crowdsourced by legal professionals

        • -
        • Berkeley Function Leaderboard (BFCL) [Patil et al., 2023]: Evaluates LLMs’ function-calling abilities

        • +
        • FinBench [Zhang et al., 2024]: Evaluates LLMs in the financial domain, covering tasks such as terminology understanding, temporal reasoning, future forecasting, scenario planning, and numerical modelling.

        • +
        • LegalBench [Guha et al., 2023] : Assesses the legal reasoning abilities of LLMs through tasks crowdsourced by legal professionals

        • +
        • Berkeley Function Leaderboard (BFCL) [Patil et al., 2023]: Evaluates LLMs’ function-calling abilities

        As language models continue to advance in capability and complexity, evaluation frameworks must evolve. Modern benchmarks increasingly incorporate tests for nuanced reasoning, ethical decision-making, and emergent capabilities that weren’t previously measurable. This ongoing evolution reflects a deeper understanding that the true value of language models lies not in achieving high scores on standardized tests with narrow task-specific metrics, but in their ability to meaningfully contribute to human understanding and help solve real-world problems while demonstrating the ability to learn and adapt to new tasks.

        In the following sections, we will explore some open source tools developers can use to automate and streamline the challenging task of LLMs evals.

      -

      3.9. Tools

      +

      3.9. Tools

      -

      3.9.1. LightEval

      -

      LightEval [Fourrier et al., 2023] is a lightweight framework for evaluation of LLMs across a variety of standard and bespoke metrics and tasks across multiple inference backends via Python SDK and CLI.

      +

      3.9.1. LightEval

      +

      LightEval [Fourrier et al., 2023] is a lightweight framework for evaluation of LLMs across a variety of standard and bespoke metrics and tasks across multiple inference backends via Python SDK and CLI.

      As a motivating example, consider a scenario where financial data has been extracted from SEC financial filings and require econometric analysis. Tasks like estimating autoregressive models for time series forecasting or conducting hypothesis tests on market efficiency are common in financial analysis. Let’s evaluate how well different models perform on this type of task.

      First, we need to select a benchmark to assess LLMs capabilities in this domain. MMLU has a sub-benchmark called Econometrics we can use for this task. Table 3.4 shows a sample of the benchmark dataset from MMLU Econometrics. It consists of multiple-choice questions from econometrics and expected answers.

    @@ -1526,7 +1526,7 @@

    [Face, 2024] and metrics [Face, 2024]. The available tasks span multiple categories and benchmarks including BigBench, MMLU, TruthfulQA, WinoGrande, and HellaSwag. The framework also supports standard NLP evaluation metrics including BLEU, ROUGE, Exact Match, F1 Score, and Accuracy.

    +

    LightEval provides a comprehensive set of evaluation tasks [HuggingFace, 2024] and metrics [HuggingFace, 2024]. The available tasks span multiple categories and benchmarks including BigBench, MMLU, TruthfulQA, WinoGrande, and HellaSwag. The framework also supports standard NLP evaluation metrics including BLEU, ROUGE, Exact Match, F1 Score, and Accuracy.

    In our case, we choose to evaluate our LLMs on the MMLU econometrics task using zero-shot learning. Hence, we define the task as follows:

    -

    We would like to compare the performance of multiple open source models on the MMLU econometrics task. While we could download and evaluate each model locally, we prefer instead to evaluate them on a remote server to save time and resources. LightEval enables serving the model on a TGI-compatible server/container and then running the evaluation by sending requests to the server [Face, 2024].

    +

    We would like to compare the performance of multiple open source models on the MMLU econometrics task. While we could download and evaluate each model locally, we prefer instead to evaluate them on a remote server to save time and resources. LightEval enables serving the model on a TGI-compatible server/container and then running the evaluation by sending requests to the server [HuggingFace, 2024].

    For that purpose, we can leverage HuggingFace Serverless Inference API [1] and set a configuration file for LightEval as shown below, where <MODEL-ID> is the model identifier on HuggingFace (e.g. meta-llama/Llama-3.2-1B-Instruct) and <HUGGINGFACE-TOKEN> is the user’s HuggingFace API token. Alternatively, you could also pass an URL of a corresponding dedicated inference API if you have one.

    model:
       type: "tgi"
    @@ -1576,17 +1576,17 @@ 

    - + - + - +

    Llama3.2 Instruct

    LLaMA architecture-based pretrained and instruction-tuned generative models

    Llama-3.2-1B-Instruct
    Llama-3.2-3B-Instruct

    [Meta AI, 2024]

    [Meta AI, 2024]

    Qwen2.5 Instruct

    Instruction-tuned LLMs family built by Alibaba Cloud

    Qwen2.5-0.5B-Instruct
    Qwen2.5-1.5B-Instruct
    Qwen2.5-3B-Instruct

    [Face, 2024, Hui et al., 2024, Yang et al., 2024]

    [HuggingFace, 2024, Hui et al., 2024, Yang et al., 2024]

    SmolLM2 Instruct

    Instruction-tuned family of compact language models built by HuggingFace

    SmolLM2-360M-Instruct
    SmolLM2-1.7B-Instruct

    [Allal et al., 2024]

    [Allal et al., 2024]

    @@ -1599,10 +1599,10 @@

    [Hugging Face, 2024]. Its integration with the Hugging Face ecosystem and modular architecture make it particularly powerful for evaluating open source models. For further details, visit the official repository [Fourrier et al., 2023].

    +

    In summary, LightEval is a simple yet flexible and comprehensive framework for evaluating LLMs across a wide variety of tasks and metrics. It can serve as a first step in selecting your next LLM for a specific task given the exponential growth in number of (open source) models available [HuggingFace, 2024]. Its integration with the Hugging Face ecosystem and modular architecture make it particularly powerful for evaluating open source models. For further details, visit the official repository [Fourrier et al., 2023].

    -

    3.9.2. LangSmith

    +

    3.9.2. LangSmith

    Let’s revisit our evaluation example when we were interested in evaluating the quality of summaries generated by different (smaller and cheaper) LLM models compared to a benchmark model (larger and more expensive). Recal the setup:

    • Benchmark model: gpt-4o

    • @@ -2010,8 +2010,8 @@

      -

      3.9.3. PromptFoo

      -

      Promptfoo [promptfoo, 2024] is an open-source framework designed for evaluating applications that utilize LLMs. Key features include:

      +

      3.9.3. PromptFoo

      +

      Promptfoo [promptfoo, 2024] is an open-source framework designed for evaluating applications that utilize LLMs. Key features include:

      1. Automated Testing: Promptfoo provides automated testing capabilities, allowing developers to run custom evaluations tailored to their applications.

      2. Custom Probes: Developers can create custom probes to focus on specific use cases for instance decoupling prompts from tests cases.

      3. @@ -2302,7 +2302,7 @@

        Prompt Comparison R

        In conclusion, Promptfoo can serve as an effective LLM application evaluation tool particularly for its ability to decouple several components of the evaluation process. Hence enabling the user to focus on the most important aspects of the evaluation given the particular application and criteria making it a valuable and flexible tool for LLM application development.

    -

    3.9.4. Comparison

    +

    3.9.4. Comparison

    Table 3.6 provides a summarized comparative analysis of three open source frameworks for language models evaluation we have discussed: Lighteval, LangSmith, and Promptfoo. Each framework is assessed based on key features such as integration capabilities, customization options, ease of use, and the ability to facilitate human and LLM collaboration.

    @@ -2339,7 +2339,7 @@

    -

    3.10. Conclusion

    +

    3.10. Conclusion

    Language models have fundamentally transformed how software is developed and evaluated. Unlike conventional systems that produce predictable outputs, LLMs generate varied, probabilistic responses that defy traditional testing approaches. While developers accustomed to deterministic systems may find this shift challenging, continuing to rely on legacy testing methods is unsustainable. These frameworks were not designed to handle the inherent variability of LLM outputs and will ultimately prove inadequate.

    Success requires embracing this new paradigm by implementing comprehensive evals that cover the non-deterministic generative nature of LLMs - this is the new Product Requirements Document (PRD) - and cultivating an organizational mindset focused on iteration, experimentation and growth.

    The shift from traditional software testing to LLM evaluation is not just a change in tools but a transformation in mindset. Those who recognize and adapt to this shift will lead the way in harnessing the power of LLMs in software development.

    @@ -2356,166 +2356,166 @@

    -

    3.11. References

    +

    3.11. References

    -
    +
    [ALB+24]

    Loubna Ben Allal, Anton Lozhkov, Elie Bakouch, Gabriel Martín Blázquez, Lewis Tunstall, Agustín Piqueres, Andres Marafioti, Cyril Zakka, Leandro von Werra, and Thomas Wolf. Smollm2 - with great data, comes great performance. 2024.

    -
    +
    [Are24]

    Judge Arena. Judge arena: evaluating llm outputs with llms. https://judgearena.com/, 2024. Accessed: 2024.

    -
    +
    [BPS99]

    Sally C. Brailsford, Chris N. Potts, and Barbara M. Smith. Constraint satisfaction problems: algorithms and applications. European Journal of Operational Research, 119(3):557–581, 1999. URL: https://www.sciencedirect.com/science/article/pii/S0377221798003646, doi:https://doi.org/10.1016/S0377-2217(98)00364-6.

    -
    +
    [CTJ+21]

    Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Ponde de Oliveira Pinto, Jared Kaplan, Harri Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, Alex Ray, Raul Puri, Gretchen Krueger, Michael Petrov, Heidy Khlaaf, Girish Sastry, Pamela Mishkin, Brooke Chan, Scott Gray, Nick Ryder, Mikhail Pavlov, Alethea Power, Lukasz Kaiser, Mohammad Bavarian, Clemens Winter, Philippe Tillet, Felipe Petroski Such, Dave Cummings, Matthias Plappert, Fotios Chantzis, Elizabeth Barnes, Ariel Herbert-Voss, William Hebgen Guss, Alex Nichol, Alex Paino, Nikolas Tezak, Jie Tang, Igor Babuschkin, Suchir Balaji, Shantanu Jain, William Saunders, Christopher Hesse, Andrew N. Carr, Jan Leike, Josh Achiam, Vedant Misra, Evan Morikawa, Alec Radford, Matthew Knight, Miles Brundage, Mira Murati, Katie Mayer, Peter Welinder, Bob McGrew, Dario Amodei, Sam McCandlish, Ilya Sutskever, and Wojciech Zaremba. Evaluating large language models trained on code. 2021. URL: https://arxiv.org/abs/2107.03374, arXiv:2107.03374.

    -
    +
    [CZS+24]

    Wei-Lin Chiang, Lianmin Zheng, Ying Sheng, Anastasios Nikolas Angelopoulos, Tianle Li, Dacheng Li, Hao Zhang, Banghua Zhu, Michael Jordan, Joseph E. Gonzalez, and Ion Stoica. Chatbot arena: an open platform for evaluating llms by human preference. 2024. URL: https://arxiv.org/abs/2403.04132, arXiv:2403.04132.

    -
    +
    [Cho24a]

    Francois Chollet. Arc prize 2024 results. ARC Prize Website, 12/08/2024. URL: https://arcprize.org/2024-results.

    -
    +
    [Cho24b]

    Francois Chollet. Abstraction and reasoning challenge. ARC Prize Website, 2024. URL: https://arcprize.org/.

    -
    +
    [DRCW+24]

    Darshan Deshpande, Selvan Sunitha Ravi, Sky CH-Wang, Bartosz Mielczarek, Anand Kannappan, and Rebecca Qian. Glider: grading llm interactions and decisions using explainable ranking. 2024. URL: https://arxiv.org/abs/2412.14140, arXiv:2412.14140.

    -
    +
    [DGLH24]

    Yann Dubois, Balázs Galambosi, Percy Liang, and Tatsunori B. Hashimoto. Length-controlled alpacaeval: a simple way to debias automatic evaluators. 2024. URL: https://arxiv.org/abs/2404.04475, arXiv:2404.04475.

    -
    -[Fac24a] -

    Hugging Face. Available tasks - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Available-Tasks, 2024. Accessed: 2024.

    -
    -
    -[Fac24b] -

    Hugging Face. Evaluate the model on a server or container - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Evaluate-the-model-on-a-server-or-container, 2024. Accessed: 2024.

    -
    -
    -[Fac24c] -

    Hugging Face. Gpt-2 documentation - hugging face transformers. https://huggingface.co/docs/transformers/model_doc/gpt2, 2024. Accessed: 2024.

    -
    -
    -[Fac24d] -

    Hugging Face. Llm as a judge. https://huggingface.co/learn/cookbook/en/llm_judge, 2024. Accessed: 2024.

    -
    -
    -[Fac24e] -

    Hugging Face. Metric list - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Metric-List, 2024. Accessed: 2024.

    -
    -
    -[Fac24f] -

    Hugging Face. Open llm leaderboard. Hugging Face Spaces, 2024. URL: https://huggingface.co/spaces/open-llm-leaderboard/blog.

    -
    -
    +
    [FHWT23] (1,2)

    Clémentine Fourrier, Nathan Habib, Thomas Wolf, and Lewis Tunstall. Lighteval: a lightweight framework for llm evaluation. 2023. URL: https://github.com/huggingface/lighteval.

    -
    +
    [GNH+23]

    Neel Guha, Julian Nyarko, Daniel E. Ho, Christopher Ré, Adam Chilton, Aditya Narayana, Alex Chohlas-Wood, Austin Peters, Brandon Waldon, Daniel N. Rockmore, Diego Zambrano, Dmitry Talisman, Enam Hoque, Faiz Surani, Frank Fagan, Galit Sarfaty, Gregory M. Dickinson, Haggai Porat, Jason Hegland, Jessica Wu, Joe Nudell, Joel Niklaus, John Nay, Jonathan H. Choi, Kevin Tobia, Margaret Hagan, Megan Ma, Michael Livermore, Nikon Rasumov-Rahe, Nils Holzenberger, Noam Kolt, Peter Henderson, Sean Rehaag, Sharad Goel, Shang Gao, Spencer Williams, Sunny Gandhi, Tom Zur, Varun Iyer, and Zehua Li. Legalbench: a collaboratively built benchmark for measuring legal reasoning in large language models. 2023. URL: https://arxiv.org/abs/2308.11462, arXiv:2308.11462.

    -
    +
    [HBB+21]

    Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. 2021. URL: https://arxiv.org/abs/2009.03300, arXiv:2009.03300.

    -
    +
    [HBD+20]

    Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes, and Yejin Choi. The curious case of neural text degeneration. 2020. URL: https://arxiv.org/abs/1904.09751, arXiv:1904.09751.

    -
    +
    +[Hug24a] +

    HuggingFace. Available tasks - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Available-Tasks, 2024. Accessed: 2024.

    +
    +
    +[Hug24b] +

    HuggingFace. Evaluate the model on a server or container - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Evaluate-the-model-on-a-server-or-container, 2024. Accessed: 2024.

    +
    +
    +[Hug24c] +

    HuggingFace. Gpt-2 documentation - huggingface transformers. https://huggingface.co/docs/transformers/model_doc/gpt2, 2024. Accessed: 2024.

    +
    +
    +[Hug24d] +

    HuggingFace. Llm as a judge. https://huggingface.co/learn/cookbook/en/llm_judge, 2024. Accessed: 2024.

    +
    +
    +[Hug24e] +

    HuggingFace. Metric list - lighteval wiki. https://github.com/huggingface/lighteval/wiki/Metric-List, 2024. Accessed: 2024.

    +
    +
    +[Hug24f] +

    HuggingFace. Open llm leaderboard. HuggingFace Spaces, 2024. URL: https://huggingface.co/spaces/open-llm-leaderboard/blog.

    +
    +
    [HYC+24]

    Binyuan Hui, Jian Yang, Zeyu Cui, Jiaxi Yang, Dayiheng Liu, Lei Zhang, Tianyu Liu, Jiajun Zhang, Bowen Yu, Kai Dang, and others. Qwen2.5 - coder technical report. arXiv preprint arXiv:2409.12186, 2024.

    -
    +
    [LXS+24] (1,2,3)

    Zhen Li, Xiaohan Xu, Tao Shen, Can Xu, Jia-Chen Gu, Yuxuan Lai, Chongyang Tao, and Shuai Ma. Leveraging large language models for nlg evaluation: advances and challenges. 2024. URL: https://arxiv.org/abs/2401.07103, arXiv:2401.07103.

    -
    +
    [LBL+23]

    Percy Liang, Rishi Bommasani, Tony Lee, Dimitris Tsipras, Dilara Soylu, Michihiro Yasunaga, Yian Zhang, Deepak Narayanan, Yuhuai Wu, Ananya Kumar, Benjamin Newman, Binhang Yuan, Bobby Yan, Ce Zhang, Christian Cosgrove, Christopher D. Manning, Christopher Ré, Diana Acosta-Navas, Drew A. Hudson, Eric Zelikman, Esin Durmus, Faisal Ladhak, Frieda Rong, Hongyu Ren, Huaxiu Yao, Jue Wang, Keshav Santhanam, Laurel Orr, Lucia Zheng, Mert Yuksekgonul, Mirac Suzgun, Nathan Kim, Neel Guha, Niladri Chatterji, Omar Khattab, Peter Henderson, Qian Huang, Ryan Chi, Sang Michael Xie, Shibani Santurkar, Surya Ganguli, Tatsunori Hashimoto, Thomas Icard, Tianyi Zhang, Vishrav Chaudhary, William Wang, Xuechen Li, Yifan Mai, Yuhui Zhang, and Yuta Koreeda. Holistic evaluation of language models. 2023. URL: https://arxiv.org/abs/2211.09110, arXiv:2211.09110.

    -
    +
    [LBC24]

    Bill Yuchen Lin, Ronan Le Bras, and Yejin Choi. Zebralogic: benchmarking the logical reasoning ability of language models. 2024. URL: https://huggingface.co/spaces/allenai/ZebraLogic.

    -
    +
    [LHE22]

    Stephanie Lin, Jacob Hilton, and Owain Evans. Truthfulqa: measuring how models mimic human falsehoods. 2022. URL: https://arxiv.org/abs/2109.07958, arXiv:2109.07958.

    -
    +
    [PZWG23]

    Shishir G. Patil, Tianjun Zhang, Xin Wang, and Joseph E. Gonzalez. Gorilla: large language model connected with massive apis. arXiv preprint arXiv:2305.15334, 2023.

    -
    +
    [pro24]

    promptfoo. Promptfoo: llm testing and evaluation framework. 2024. Open source framework for testing and evaluating LLM prompts. URL: https://www.promptfoo.dev/.

    -
    +
    [Ras24]

    Sebastian Raschka. Build A Large Language Model (From Scratch). Manning, 2024. ISBN 978-1633437166. URL: https://www.manning.com/books/build-a-large-language-model-from-scratch.

    -
    +
    [SLL+24]

    Bhaskarjit Sarmah, Mingshu Li, Jingrao Lyu, Sebastian Frank, Nathalia Castellanos, Stefano Pasquali, and Dhagash Mehta. How to choose a threshold for an evaluation metric for large language models. 2024. URL: https://arxiv.org/abs/2412.12148, arXiv:2412.12148.

    -
    +
    [SRF+24]

    Shivalika Singh, Angelika Romanou, Clémentine Fourrier, David I. Adelani, Jian Gang Ngui, Daniel Vila-Suero, Peerat Limkonchotiwat, Kelly Marchisio, Wei Qi Leong, Yosephine Susanto, Raymond Ng, Shayne Longpre, Wei-Yin Ko, Madeline Smith, Antoine Bosselut, Alice Oh, Andre F. T. Martins, Leshem Choshen, Daphne Ippolito, Enzo Ferrante, Marzieh Fadaee, Beyza Ermis, and Sara Hooker. Global mmlu: understanding and addressing cultural and linguistic biases in multilingual evaluation. 2024. URL: https://arxiv.org/abs/2412.03304, arXiv:2412.03304.

    -
    +
    [SRR+23]

    Aarohi Srivastava, Abhinav Rastogi, Abhishek Rao, Abu Awal Md Shoeb, Abubakar Abid, Adam Fisch, Adam R. Brown, Adam Santoro, Aditya Gupta, Adrià Garriga-Alonso, Agnieszka Kluska, Aitor Lewkowycz, Akshat Agarwal, Alethea Power, Alex Ray, Alex Warstadt, Alexander W. Kocurek, Ali Safaya, Ali Tazarv, Alice Xiang, Alicia Parrish, Allen Nie, Aman Hussain, Amanda Askell, Amanda Dsouza, Ambrose Slone, Ameet Rahane, Anantharaman S. Iyer, Anders Andreassen, Andrea Madotto, Andrea Santilli, Andreas Stuhlmüller, Andrew Dai, Andrew La, Andrew Lampinen, Andy Zou, Angela Jiang, Angelica Chen, Anh Vuong, Animesh Gupta, Anna Gottardi, Antonio Norelli, Anu Venkatesh, Arash Gholamidavoodi, Arfa Tabassum, Arul Menezes, Arun Kirubarajan, Asher Mullokandov, Ashish Sabharwal, Austin Herrick, Avia Efrat, Aykut Erdem, Ayla Karakaş, B. Ryan Roberts, Bao Sheng Loe, Barret Zoph, Bartłomiej Bojanowski, Batuhan Özyurt, Behnam Hedayatnia, Behnam Neyshabur, Benjamin Inden, Benno Stein, Berk Ekmekci, Bill Yuchen Lin, Blake Howald, Bryan Orinion, Cameron Diao, Cameron Dour, Catherine Stinson, Cedrick Argueta, César Ferri Ramírez, Chandan Singh, Charles Rathkopf, Chenlin Meng, Chitta Baral, Chiyu Wu, Chris Callison-Burch, Chris Waites, Christian Voigt, Christopher D. Manning, Christopher Potts, Cindy Ramirez, Clara E. Rivera, Clemencia Siro, Colin Raffel, Courtney Ashcraft, Cristina Garbacea, Damien Sileo, Dan Garrette, Dan Hendrycks, Dan Kilman, Dan Roth, Daniel Freeman, Daniel Khashabi, Daniel Levy, Daniel Moseguí González, Danielle Perszyk, Danny Hernandez, Danqi Chen, Daphne Ippolito, Dar Gilboa, David Dohan, David Drakard, David Jurgens, Debajyoti Datta, Deep Ganguli, Denis Emelin, Denis Kleyko, Deniz Yuret, Derek Chen, Derek Tam, Dieuwke Hupkes, Diganta Misra, Dilyar Buzan, Dimitri Coelho Mollo, Diyi Yang, Dong-Ho Lee, Dylan Schrader, Ekaterina Shutova, Ekin Dogus Cubuk, Elad Segal, Eleanor Hagerman, Elizabeth Barnes, Elizabeth Donoway, Ellie Pavlick, Emanuele Rodola, Emma Lam, Eric Chu, Eric Tang, Erkut Erdem, Ernie Chang, Ethan A. Chi, Ethan Dyer, Ethan Jerzak, Ethan Kim, Eunice Engefu Manyasi, Evgenii Zheltonozhskii, Fanyue Xia, Fatemeh Siar, Fernando Martínez-Plumed, Francesca Happé, Francois Chollet, Frieda Rong, Gaurav Mishra, Genta Indra Winata, Gerard de Melo, Germán Kruszewski, Giambattista Parascandolo, Giorgio Mariani, Gloria Wang, Gonzalo Jaimovitch-López, Gregor Betz, Guy Gur-Ari, Hana Galijasevic, Hannah Kim, Hannah Rashkin, Hannaneh Hajishirzi, Harsh Mehta, Hayden Bogar, Henry Shevlin, Hinrich Schütze, Hiromu Yakura, Hongming Zhang, Hugh Mee Wong, Ian Ng, Isaac Noble, Jaap Jumelet, Jack Geissinger, Jackson Kernion, Jacob Hilton, Jaehoon Lee, Jaime Fernández Fisac, James B. Simon, James Koppel, James Zheng, James Zou, Jan Kocoń, Jana Thompson, Janelle Wingfield, Jared Kaplan, Jarema Radom, Jascha Sohl-Dickstein, Jason Phang, Jason Wei, Jason Yosinski, Jekaterina Novikova, Jelle Bosscher, Jennifer Marsh, Jeremy Kim, Jeroen Taal, Jesse Engel, Jesujoba Alabi, Jiacheng Xu, Jiaming Song, Jillian Tang, Joan Waweru, John Burden, John Miller, John U. Balis, Jonathan Batchelder, Jonathan Berant, Jörg Frohberg, Jos Rozen, Jose Hernandez-Orallo, Joseph Boudeman, Joseph Guerr, Joseph Jones, Joshua B. Tenenbaum, Joshua S. Rule, Joyce Chua, Kamil Kanclerz, Karen Livescu, Karl Krauth, Karthik Gopalakrishnan, Katerina Ignatyeva, Katja Markert, Kaustubh D. Dhole, Kevin Gimpel, Kevin Omondi, Kory Mathewson, Kristen Chiafullo, Ksenia Shkaruta, Kumar Shridhar, Kyle McDonell, Kyle Richardson, Laria Reynolds, Leo Gao, Li Zhang, Liam Dugan, Lianhui Qin, Lidia Contreras-Ochando, Louis-Philippe Morency, Luca Moschella, Lucas Lam, Lucy Noble, Ludwig Schmidt, Luheng He, Luis Oliveros Colón, Luke Metz, Lütfi Kerem Şenel, Maarten Bosma, Maarten Sap, Maartje ter Hoeve, Maheen Farooqi, Manaal Faruqui, Mantas Mazeika, Marco Baturan, Marco Marelli, Marco Maru, Maria Jose Ramírez Quintana, Marie Tolkiehn, Mario Giulianelli, Martha Lewis, Martin Potthast, Matthew L. Leavitt, Matthias Hagen, Mátyás Schubert, Medina Orduna Baitemirova, Melody Arnaud, Melvin McElrath, Michael A. Yee, Michael Cohen, Michael Gu, Michael Ivanitskiy, Michael Starritt, Michael Strube, Michał Swędrowski, Michele Bevilacqua, Michihiro Yasunaga, Mihir Kale, Mike Cain, Mimee Xu, Mirac Suzgun, Mitch Walker, Mo Tiwari, Mohit Bansal, Moin Aminnaseri, Mor Geva, Mozhdeh Gheini, Mukund Varma T, Nanyun Peng, Nathan A. Chi, Nayeon Lee, Neta Gur-Ari Krakover, Nicholas Cameron, Nicholas Roberts, Nick Doiron, Nicole Martinez, Nikita Nangia, Niklas Deckers, Niklas Muennighoff, Nitish Shirish Keskar, Niveditha S. Iyer, Noah Constant, Noah Fiedel, Nuan Wen, Oliver Zhang, Omar Agha, Omar Elbaghdadi, Omer Levy, Owain Evans, Pablo Antonio Moreno Casares, Parth Doshi, Pascale Fung, Paul Pu Liang, Paul Vicol, Pegah Alipoormolabashi, Peiyuan Liao, Percy Liang, Peter Chang, Peter Eckersley, Phu Mon Htut, Pinyu Hwang, Piotr Miłkowski, Piyush Patil, Pouya Pezeshkpour, Priti Oli, Qiaozhu Mei, Qing Lyu, Qinlang Chen, Rabin Banjade, Rachel Etta Rudolph, Raefer Gabriel, Rahel Habacker, Ramon Risco, Raphaël Millière, Rhythm Garg, Richard Barnes, Rif A. Saurous, Riku Arakawa, Robbe Raymaekers, Robert Frank, Rohan Sikand, Roman Novak, Roman Sitelew, Ronan LeBras, Rosanne Liu, Rowan Jacobs, Rui Zhang, Ruslan Salakhutdinov, Ryan Chi, Ryan Lee, Ryan Stovall, Ryan Teehan, Rylan Yang, Sahib Singh, Saif M. Mohammad, Sajant Anand, Sam Dillavou, Sam Shleifer, Sam Wiseman, Samuel Gruetter, Samuel R. Bowman, Samuel S. Schoenholz, Sanghyun Han, Sanjeev Kwatra, Sarah A. Rous, Sarik Ghazarian, Sayan Ghosh, Sean Casey, Sebastian Bischoff, Sebastian Gehrmann, Sebastian Schuster, Sepideh Sadeghi, Shadi Hamdan, Sharon Zhou, Shashank Srivastava, Sherry Shi, Shikhar Singh, Shima Asaadi, Shixiang Shane Gu, Shubh Pachchigar, Shubham Toshniwal, Shyam Upadhyay, Shyamolima, Debnath, Siamak Shakeri, Simon Thormeyer, Simone Melzi, Siva Reddy, Sneha Priscilla Makini, Soo-Hwan Lee, Spencer Torene, Sriharsha Hatwar, Stanislas Dehaene, Stefan Divic, Stefano Ermon, Stella Biderman, Stephanie Lin, Stephen Prasad, Steven T. Piantadosi, Stuart M. Shieber, Summer Misherghi, Svetlana Kiritchenko, Swaroop Mishra, Tal Linzen, Tal Schuster, Tao Li, Tao Yu, Tariq Ali, Tatsu Hashimoto, Te-Lin Wu, Théo Desbordes, Theodore Rothschild, Thomas Phan, Tianle Wang, Tiberius Nkinyili, Timo Schick, Timofei Kornev, Titus Tunduny, Tobias Gerstenberg, Trenton Chang, Trishala Neeraj, Tushar Khot, Tyler Shultz, Uri Shaham, Vedant Misra, Vera Demberg, Victoria Nyamai, Vikas Raunak, Vinay Ramasesh, Vinay Uday Prabhu, Vishakh Padmakumar, Vivek Srikumar, William Fedus, William Saunders, William Zhang, Wout Vossen, Xiang Ren, Xiaoyu Tong, Xinran Zhao, Xinyi Wu, Xudong Shen, Yadollah Yaghoobzadeh, Yair Lakretz, Yangqiu Song, Yasaman Bahri, Yejin Choi, Yichi Yang, Yiding Hao, Yifu Chen, Yonatan Belinkov, Yu Hou, Yufang Hou, Yuntao Bai, Zachary Seid, Zhuoye Zhao, Zijian Wang, Zijie J. Wang, Zirui Wang, and Ziyi Wu. Beyond the imitation game: quantifying and extrapolating the capabilities of language models. 2023. URL: https://arxiv.org/abs/2206.04615, arXiv:2206.04615.

    -
    +
    [WPN+19]

    Alex Wang, Yada Pruksachatkun, Nikita Nangia, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. Superglue: a stickier benchmark for general-purpose language understanding systems. Advances in Neural Information Processing Systems, 2019.

    -
    +
    [WSM+19]

    Alex Wang, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. Glue: a multi-task benchmark and analysis platform for natural language understanding. 2019. URL: https://arxiv.org/abs/1804.07461, arXiv:1804.07461.

    -
    +
    [WTB+22] (1,2)

    Jason Wei, Yi Tay, Rishi Bommasani, Colin Raffel, Barret Zoph, Sebastian Borgeaud, Dani Yogatama, Maarten Bosma, Denny Zhou, Donald Metzler, Ed H. Chi, Tatsunori Hashimoto, Oriol Vinyals, Percy Liang, Jeff Dean, and William Fedus. Emergent abilities of large language models. 2022. URL: https://arxiv.org/abs/2206.07682, arXiv:2206.07682.

    -
    +
    [WDR+24]

    Colin White, Samuel Dooley, Manley Roberts, Arka Pal, Ben Feuer, Siddhartha Jain, Ravid Shwartz-Ziv, Neel Jain, Khalid Saifullah, Siddartha Naidu, Chinmay Hegde, Yann LeCun, Tom Goldstein, Willie Neiswanger, and Micah Goldblum. Livebench: a challenging, contamination-free llm benchmark. 2024. URL: https://arxiv.org/abs/2406.19314, arXiv:2406.19314.

    -
    +
    [YYH+24]

    An Yang, Baosong Yang, Binyuan Hui, Bo Zheng, Bowen Yu, Chang Zhou, Chengpeng Li, Chengyuan Li, Dayiheng Liu, Fei Huang, Guanting Dong, Haoran Wei, Huan Lin, Jialong Tang, Jialin Wang, Jian Yang, Jianhong Tu, Jianwei Zhang, Jianxin Ma, Jin Xu, Jingren Zhou, Jinze Bai, Jinzheng He, Junyang Lin, Kai Dang, Keming Lu, Keqin Chen, Kexin Yang, Mei Li, Mingfeng Xue, Na Ni, Pei Zhang, Peng Wang, Ru Peng, Rui Men, Ruize Gao, Runji Lin, Shijie Wang, Shuai Bai, Sinan Tan, Tianhang Zhu, Tianhao Li, Tianyu Liu, Wenbin Ge, Xiaodong Deng, Xiaohuan Zhou, Xingzhang Ren, Xinyu Zhang, Xipin Wei, Xuancheng Ren, Yang Fan, Yang Yao, Yichang Zhang, Yu Wan, Yunfei Chu, Yuqiong Liu, Zeyu Cui, Zhenru Zhang, and Zhihao Fan. Qwen2 technical report. arXiv preprint arXiv:2407.10671, 2024.

    -
    +
    [ZCL24]

    Zhihan Zhang, Yixin Cao, and Lizi Liao. Finbench: benchmarking LLMs in complex financial problem solving and reasoning. 2024. URL: https://openreview.net/forum?id=AeGrf1uY0p.

    -
    +
    [ZCS+23]

    Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric P. Xing, Hao Zhang, Joseph E. Gonzalez, and Ion Stoica. Judging llm-as-a-judge with mt-bench and chatbot arena. 2023. URL: https://arxiv.org/abs/2306.05685, arXiv:2306.05685.

    -
    +
    [HuggingFace24] -

    Hugging Face. Number of models on hugging face. https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024?day=4, 2024. Accessed: 12/06/2024.

    +

    HuggingFace. Number of models on huggingface. https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024?day=4, 2024. Accessed: 12/06/2024.

    -
    +
    [MetaAI24] -

    Meta AI. Meta llama models on hugging face. https://huggingface.co/meta-llama, 2024. Accessed: 2024.

    +

    Meta AI. Meta llama models on huggingface. https://huggingface.co/meta-llama, 2024. Accessed: 2024.

    diff --git a/tamingllms/_build/html/notebooks/input.html b/tamingllms/_build/html/notebooks/input.html index 1295768..1c6c6d3 100644 --- a/tamingllms/_build/html/notebooks/input.html +++ b/tamingllms/_build/html/notebooks/input.html @@ -171,6 +171,8 @@
  • Retrieval-Augmented Generation
  • +
  • A Note on Frameworks
  • +
  • Case Studies
  • Conclusion
  • @@ -250,7 +252,7 @@
    -

    5. Managing Input Data

    +

    5. Managing Input Data

    One home run is much better than two doubles.

    —Steve Jobs

    @@ -258,68 +260,81 @@ -
    -

    Note

    -

    This Chapter is Work-in-Progress.

    -
    -

    5.1. Introduction

    -

    Large Language Models face several critical challenges in effectively processing input data. While advances in long-context language models (LCLMs) [Lee et al., 2024] have expanded the amount of information these systems can process simultaneously, significant challenges remain in managing and effectively utilizing extended inputs.

    -

    LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results [Tan et al., 2024]. They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy [Amayuelas et al., 2024]. LLMs also struggle with less common but important information showing a systematic loss of long-tail knowledge [Kotha et al., 2024].

    -

    Motivated by these challenges, this chapter explores two key components:

    +

    5.1. Introduction

    +

    While advances in long-context language models (LCs) [Lee et al., 2024] have expanded the amount of information these systems can process, significant challenges remain in managing and effectively utilizing extended data inputs:

    +
      +
    • LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results [He et al., 2024, Liu et al., 2024, Tan et al., 2024].

    • +
    • They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy [Amayuelas et al., 2024].

    • +
    • LLMs also face “lost-in-the-middle” problems [Wu et al., 2024] and struggle with less common but important information showing a systematic loss of long-tail knowledge [Kotha et al., 2024].

    • +
    +

    Motivated by these challenges, this chapter explores two key input data components:

      -
    1. Data Parsing: Parsing documents into a unified format that is suitable for LLMs to process.

    2. +
    3. Data Parsing and Chunking: Parsing and chunking documents into a unified format that is suitable and more manageable for LLMs to process.

    4. Retrieval Augmentation: Augmenting LLMs with the ability to retrieve relevant, recent, and specialized information.

    In data parsing, we will explore some useful open source tools that help transform data into LLM-compatible formats, demonstrating their impact through a case study of structured information extraction from complex PDFs. In a second case study, we will introduce some chunking strategies to help LLMs process long inputs and implement a particular technique called Chunking with Contextual Linking the enables contextually relevant chunk processing.

    -

    In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation). Through a detailed case study, we build a RAG system for querying live codebases, illustrating methods to bridge static model knowledge with dynamic information requirements.

    -

    In our last case study, we build a quiz generator using a LLM with large context window. We will explore some additional relevant techniques such as prompt caching and response verification through citations.

    +

    In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation) while discussing whether RAGs will be really needed in the future given the rise of long-context language models.

    +

    While RAGs are useful for incorporating external context, they are not a silver bullet nor a mandatory component for all LLM applications. In our last case study, we leverage long-context windows to build a quiz generator from a large knowledge base. We will also explore some additional relevant techniques such as prompt caching and response verification through citations.

    By the chapter’s conclusion, readers will possess relevant knowledge of input data management strategies for LLMs and practical expertise in selecting and implementing appropriate approaches and tools for specific use cases.

    -

    5.2. Parsing Documents

    -

    Building robust data ingestion and preprocessing pipelines is essential for any LLM application. This section explores tools and frameworks that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the performance of the LLM.

    -

    We will cover open source tools and frameworks that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs also discussing how the quality of the parser can impact LLM’s performance.

    +

    5.2. Parsing Documents

    +

    Data parsing and formatting play a critical role in LLMs performance [He et al., 2024, Liu et al., 2024, Tan et al., 2024]. Hence, building robust data ingestion and preprocessing pipelines is essential for any LLM application.

    +

    This section explores open source tools that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the LLM performance.

    +

    We will cover open source tools that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs demonstrating how the quality of the parser can impact LLM’s performance.

    -

    5.2.1. MarkItDown

    -

    MarkItDown is a Python package and CLI too developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.

    +

    5.2.1. MarkItDown

    +

    MarkItDown [Microsoft, 2024] is a Python package and CLI tool developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.

    Key features:

    • Simple command-line and Python API interfaces

    • @@ -338,8 +353,8 @@

      -

      5.2.2. Docling

      -

      Docling is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.

      +

      5.2.2. Docling

      +

      Docling [IBM Research, 2024] is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.

      Key features:

    -

    5.2.4. Structured Data Extraction

    -

    A common use case where document parsing matters is to structured data extraction from documents, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch’s CIO Capital Market Outlook released on December 16, 2024 [Merrill Lynch, 2024]. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see Fig. 5.1)

    +

    5.2.3. Structured Data Extraction

    +

    A common use case where document parsing matters is structured data extraction, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch’s CIO Capital Market Outlook released on December 16, 2024 [Merrill Lynch, 2024]. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see Fig. 5.1).

    -Forecast +Forecast
    -

    Fig. 5.1 Forecast

    +

    Fig. 5.1 Merrill Lynch’s CIO Capital Market Outlook released on December 16, 2024 [Merrill Lynch, 2024]

    @@ -399,7 +411,7 @@

    SequenceMatcher from the difflib package, which is a simple measure of the similarity between two strings based on the number of matches in the longest common subsequence.

    +

    How similar are the two results? We can use use Levenshtein distance to measure the similarity between the two results. We will also calculate a naive score using the SequenceMatcher from the difflib package, which is a simple measure of similarity between two strings based on the number of matches in the longest common subsequence.

    import Levenshtein
    @@ -447,7 +459,7 @@ 

    SequenceMatcher respectively.

    +

    It turns out that the two results are quite different, with a similarity score of about 13.98% and 17.77% for Levenshtein and SequenceMatcher, respectively.

    Docling’s result is a quite readable markdown displaying key economic variables and their forecasts. Conversely, MarkItDown’s result is a bit messy and hard to read but the information is there just not in a structured format. Does it matter? That’s what we will explore next.

    Docling’s result

    @@ -457,11 +469,11 @@

    Fig. 5.2 shows part of the parsed result from Docling.

    -
    +

    Fig. 5.2 shows part of the parsed result from Docling.

    +
    Docling's result
    -

    Fig. 5.2 Docling’s parsed result

    +

    Fig. 5.2 Docling’s parsed result

    MarkItDown’s result

    @@ -473,18 +485,18 @@

    Fig. 5.3 shows part of the parsed result from MarkItDown.

    -
    +

    Fig. 5.3 shows part of the parsed result from MarkItDown.

    +
    MarkItDown's parsed result
    -

    Fig. 5.3 MarkItDown’s parsed result

    +

    Fig. 5.3 MarkItDown’s parsed result

    Now, let’s focus on the economic forecasts. In particular, we are interested in extracting the CIO’s 2025E forecasts.

    Forecast 2025
    -

    Fig. 5.4 Forecast 2025

    +

    Fig. 5.4 Merrill Lynch’s CIO Economic Forecasts.

    We will define a Forecast pydantic model to represent an economic forecast composed of a financial_variable and a financial_forecast. We will also define a EconForecast pydantic model to represent the list of economic forecasts we want to extract from the document.

    @@ -500,7 +512,7 @@

    extract_prompt is kind of data the user would like to extract and doc is the input document to analyze.

    +

    We write a simple function to extract the economic forecasts from the document using an LLM model (with structured output) with the following prompt template, where extract_prompt represents the kind of data the user would like to extract and doc is the input document to analyze.

    BASE_PROMPT = f"""
         ROLE: You are an expert at structured data extraction. 
         TASK: Extract the following data {extract_prompt} from input DOCUMENT
    @@ -721,7 +733,7 @@ 

    Asset Class Weightings. The CIO view information is represented in a spectrum starting with “Underweight”, passing through “Neutral” and reaching “Overweight”. The actual view is marked by some colored dots in the chart. Let’s see if we can extract this relatively more complex information from the document.

    Asset Class Weightings
    @@ -748,7 +760,7 @@

    # Create DataFrame with specified columns
    @@ -916,10 +928,10 @@ 

    tables attribute of the DocumentConverter object.

    -

    By doing that, we observe that Docling extracted 7 tables from the document. Exporting tables from top down and left to right in order of appearance in the document. -Below, we can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.

    +

    By doing that, we observe that Docling extracted 7 tables from the document exporting tables from top down and left to right in order of appearance in the document. +Below, we display the first two and the last tables. We can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.

    -

    5.3. Retrieval-Augmented Generation

    -

    RAG is a technique that allows LLMs to retrieve information from a knowledge base to answer questions. It is a popular technique for building LLM applications that require knowledge-intensive tasks [Lewis et al., 2021].

    -

    RAG utilizes a retrieval system to fetch external knowledge and augment the LLM. It has proved effective in mitigating hallucinations of LLMs [Ni et al., 2024, Zhou et al., 2024].

    +

    5.3. Retrieval-Augmented Generation

    +

    What happens if we asked ChatGPT who’s the author of the book “Taming LLMs”?

    +
    +
    +
    from dotenv import load_dotenv
    +import os
    +
    +# Load environment variables from .env file
    +load_dotenv()
    +
    +from openai import OpenAI
    +client = OpenAI()
    +model = "gpt-4o-mini"
    +
    +
    +
    +
    +
    +
    +
    question = "Who's the Author of the Book Taming LLMs?"
    +
    +
    +
    +
    +
    +
    +
    response = client.chat.completions.parse(
    +    model="gpt-4o-mini",
    +    messages=[
    +        {"role": "user", "content": question}
    +    ]
    +)
    +response.choices[0].message.content
    +
    +
    +
    +
    +
    The book "Taming LLMs" is authored by *G. Arulkumaran, H. M. B. P. D. Karthikeyan, and I. A. M. Almasri.* If you need more information about the book or its contents, feel free to ask!
    +
    +
    +
    +
    +

    Turns out ChatGPT hallucinates. A quick web search on the before mentioned authors yields no results. In fact, those authors names are made up. And of course the correct answer would have been “Tharsis Souza”.

    +

    LLMs only have access to the information they have been trained on, which of course has been fixed at a point in time. Hence, LLMs operate with stale data. The problem gets exacerbated by the fact that LLMs are trained to provide an answer even if the answer is unknown by them, hence leading to hallucinations.

    +

    One solution to this problem is to use a retrieval system to fetch information from a knowledge base to provide recent and relevant context to user queries using so-called Retrieval Augmented Generation (RAG) system.

    +

    RAG utilizes a retrieval system to fetch external knowledge and augment LLM’s context. It is a useful technique for building LLM applications that require domain-specific information or knowledge-intensive tasks [Lewis et al., 2021]. It has also proved effective in mitigating LLMs hallucinations [Ni et al., 2024, Zhou et al., 2024].

    +

    In the above example, a RAG would help with hallucinations by grounding the LLM’s response to information provided in the knowledge base. Additional common use cases of RAG systems include:

    +
      +
    1. Enterprise Knowledge Management: RAG enables organizations to synthesize answers from diverse internal data sources like documents, databases, and communication channels. This creates a unified knowledge interface that can accurately answer questions using the organization’s own data.

    2. +
    3. Document Processing and Analysis: RAG excels at extracting and analyzing information from complex documents like financial reports, presentations, and spreadsheets. The system can enable LLMs to understand context and relationships across different document types and formats.

    4. +
    5. Intelligent Customer Support: By combining knowledge bases with conversational abilities, RAG powers chatbots and support systems that can maintain context across chat history, provide accurate responses, and handle complex customer queries while reducing hallucinations.

    6. +
    7. Domain-Specific Applications: RAG allows LLMs to be equipped with specialized knowledge in fields like medicine, law, or engineering by retrieving information from domain-specific literature, regulations, and technical documentation. This enables accurate responses aligned with professional standards and current best practices.

    8. +
    9. Code Documentation and Technical Support: RAG can help developers by retrieving relevant code examples, API documentation, and best practices from repositories and documentation, which often suffer updates frequently, enabling more accurate and contextual coding assistance.

    10. +
    +

    If LLMs alone work on stale, general-purpose data with the added challenge of being prone to hallucinations, RAG systems serve as an added capability enabling LLMs to work on recent, domain-specific knowledge increasing the likelihood of LLMs to provide responses that are factual and relevant to user queries.

    +
    +

    5.3.1. RAG Pipeline

    +

    RAG architectures vary but they all share the same goal: to retrieve relevant information from a knowledge base to maximize the LLM’s ability to effectively and accurately respond to prompts, particularly when the answer requires out-of-training data information.

    +

    We will introduce key components of a RAG system one by one leading to a full canonical RAG pipeline at the end that ultimately will be used to answer our original question “Who’s the author of the book Taming LLMs?”, accurately.

    +

    The following basic components will be introduced (see Fig. 5.6 for a visual representation):

    +
      +
    • Vector Database

      +
        +
      • Embeddings

      • +
      • Indexing

      • +
      +
    • +
    • Retrieval System including re-ranking

    • +
    • LLM Augmented Generation via in-context learning

    • +
    +

    Data extraction, parsing and chunking are also part of a canonical pipeline as we prepare the knowledge base. Those are concepts that we have already explored in the previous sections, hence we will be succinct here. We will start by preparing the knowledge base.

    +
    +RAG Pipeline +
    +

    Fig. 5.6 Simplified RAG Pipeline

    +
    +
    +
    +

    5.3.1.1. Preparing the Knowledge Base

    +

    Every RAG system requires a knowledge base. In our case, the knowledge base is a set of documents that we equip the LLM to answer our authorship question.

    +

    Hence, we will compose our knowledge base by adding the web version of (some of the chapters of) the book “Taming LLMs”, namely:

    +
      +
    • Introduction

    • +
    • Structured Output

    • +
    • Input (this very chapter)

    • +
    +
    +
    +
    book_url = "https://www.tamingllms.com/"
    +chapters = ["markdown/intro.html",
    +            "notebooks/structured_output.html",
    +            "notebooks/input.html"]
    +
    +chapter_urls = [f"{book_url}/{chapter}" for chapter in chapters]
    +chapter_ids = [chapter.split("/")[-1].replace(".html", "") for chapter in chapters]
    +
    +
    +
    +
    +

    We use Docling to download the chapters from the web and parse them as markdown files.

    +
    +
    +
    chapters = [converter.convert(chapter_url).document.export_to_markdown() for chapter_url in chapter_urls]
    +
    +
    +
    +
    +

    Now we are ready to store the chapters in a vector database to enable the construction of a retrieval system.

    +
    +
    +

    5.3.1.2. Vector Database

    +

    Vector databases are specialized databases designed to store and retrieve high-dimensional vectors, which are mathematical representations of data like text, images, or audio. These databases are optimized for similarity search operations, making them ideal for embeddings-based retrieval systems.

    +

    A typical pipeline involving a vector database includes the following:

    +
      +
    1. Input data is converted into “documents” forming a collection representing our knowledge base

    2. +
    3. Each document is converted into an embedding which are stored in the vector database

    4. +
    5. Embeddings are indexed in the vector database for efficient similarity search

    6. +
    7. The vector database is queried to retrieve the most relevant documents

    8. +
    9. The retrieved documents are used to answer questions

    10. +
    +

    Vector databases are not a mandatory component of RAG systems. In fact, we can use a simple list of strings to store the chapters (or their chunks) and then use the LLM to answer questions about the document. However, vector databases are useful for RAG applications as they enable:

    +
      +
    • Fast similarity search for finding relevant context

    • +
    • Efficient storage of document embeddings

    • +
    • Scalable retrieval for large document collections

    • +
    • Flexible querying with metadata filters

    • +
    +

    In that way, RAG applications can be seen as a retrieval system that uses a vector database to store and retrieve embeddings of documents, which in turn are used to augment LLMs with contextually relevant information as we will see in the next sections.

    +

    Here, we will use ChromaDB [ChromaDB, 2024b] as an example of an open source vector database but key features and concepts we cover are applicable to other vector databases, in general.

    +

    ChromaDB is a popular open-source vector database that offers:

    +
      +
    • Efficient storage and retrieval of embeddings

    • +
    • Support for metadata and filtering

    • +
    • Easy integration with Python applications

    • +
    • In-memory and persistent storage options

    • +
    • Support for multiple distance metrics

    • +
    +

    Other notable vector databases include Weaviate, FAISS, and Milvus.

    +

    In ChromaDB, we can create a vector database client as follows.

    +
    +
    +
    import chromadb
    +chroma_client = chromadb.Client()
    +
    +
    +
    +
    +

    This will create a vector database in memory. We can also create a persistent vector database by specifying a path to a directory or alternatively by using a cloud-based vector database service like AWS, Azure or GCP. We will use a vector database in memory for this example.

    +

    Next, we create a collection to store the embeddings of the chapters. And add our chapters as documents to the collection as follows.

    +
    +
    +
    collection = chroma_client.create_collection(name="taming_llms")
    +
    +collection.add(
    +    documents=chapters,
    +    ids=chapter_ids
    +)
    +
    +
    +
    +
    +

    We are ready to query the collection. We write a simple function that takes the collection, input query and number of retrieved results as argument and returns the retrieved documents.

    +
    +
    +
    def query_collection(collection, query_text, n_results=3):
    +    results = collection.query(
    +        query_texts=[query_text],
    +        n_results=n_results
    +    )
    +    return results
    +
    +
    +
    +
    +

    We write a simple query, enquiring the purpose of the book.

    +
    +
    +
    q = "What is the purpose of this book?"
    +res = query_collection(collection, q)
    +res.get("ids")
    +
    +
    +
    +
    +
    +
    +
    print([['intro', 'input', 'structured_output']])
    +
    +
    +
    +
    +

    As response, we obtain an object that contains several attributes including:

    +
      +
    • documents: The actual documents retrieved from the collection, i.e. the chapters

    • +
    • ids: The ids of the documents retrieved from the collection

    • +
    • distances: The distances of the documents to the query vector

    • +
    +

    We can see that the chapters “Introduction”, “Input” and “Structured Output” are retrieved from the collection ordered by their distance to the query vector.

    +

    We observe that the Introduction chapter is the most relevant one as it ranks first, followed by the Input and Structured Output chapters. Indeed, the purpose of the book is included in the Introduction chapter demonstrating the retrieval system successfully retrieved the most relevant document to the input query, in this simple example.

    +

    In order to understand how the retrieval system works and how the “distance to the query vector” is computed, we need to understand how the embeddings are created and how the documents are indexed.

    +

    Embeddings

    +

    Embeddings are numerical representations of data (including text, images, audio, etc.) that capture meaning, allowing machines to process data quantitatively. Each embedding can be represented as a vector of floating-point numbers such that embedded data with similar meanings produce similar, i.e. close, vectors [1].

    +

    For text data, small distances among embeddings suggest high semantic relatedness and large distances suggest low semantic relatedness among the embedded texts. HuggingFace provides a leaderboard of embeddings models [HuggingFace, 2024i], which are ranked by in dimensions such as classification, clustering and reranking performance.

    +

    Behind the scenes, ChromaDB is using the model all-MiniLM-L6-v2 by default [2] to create embeddings for the input documents and the query (see Fig. 5.7). This model is available in sentence_transformers [HuggingFace, 2024f]. Let’s see how it works.

    +
    +Embedding +
    +

    Fig. 5.7 Embedding

    +
    +
    +
    +
    +
    from sentence_transformers import SentenceTransformer
    +
    +embedding_model = SentenceTransformer('all-MiniLM-L6-v2')
    +
    +
    +
    +
    +

    We replicate what ChromaDB did by embedding our chapters as well as input query using sentence transformers.

    +
    +
    +
    q = "What is the purpose of this book?"
    +docs_to_embed = [q] + chapters
    +embeddings = embedding_model.encode(docs_to_embed)
    +print(embeddings.shape)
    +
    +
    +
    +
    +
    (4, 384)
    +
    +
    +
    +
    +

    As a result, we obtain four 384-dimensional vectors representing our embeddings (one for each of the three chapters and one for the input query).

    +

    Now we can calculate similarity among the embeddings. By default, sentence transformers uses cosine similarity to calculate the similarity between embeddings.

    +
    +
    +
    similarities = embedding_model.similarity(embeddings, embeddings)
    +similarities
    +
    +
    +
    +
    +
    tensor([[1.0000, 0.4402, 0.3022, 0.4028],
    +        [0.4402, 1.0000, 0.6606, 0.5807],
    +        [0.3022, 0.6606, 1.0000, 0.6313],
    +        [0.4028, 0.5807, 0.6313, 1.0000]])
    +
    +
    +

    Let’s visualize the similarity matrix to better understand the relationships between our documents in Fig. 5.8. The top row of the matrix represents the similarity of the input query against all chapters. That’s exactly what we previously obtained by querying ChromaDB which returned a response with documents ranked by similarity to input query.

    +
    +Similarity matrix heatmap +
    +

    Fig. 5.8 Similarity matrix heatmap showing relationships among query and chapters.

    +
    +
    +

    Calculating similarity among embeddings can become computationally intensive if brute force is used, i.e. pair-wise computation, as the number of documents grows in the knowledge base. Indexing is a technique to help address this challenge.

    +

    Indexing

    +

    Indexing is a crucial optimization technique that makes similarity searches faster and more efficient.

    +

    Without indexing, finding similar vectors would require an exhaustive search - comparing a query vector against every single vector in the database. For large datasets, this becomes prohibitively slow.

    +

    Common indexing strategies include:

    +
      +
    1. Tree-based Indexes

      +
        +
      • Examples include KD-trees and Ball trees

      • +
      • Work by partitioning the vector space into hierarchical regions

      • +
      • Effective for low-dimensional data but suffer from the “curse of dimensionality”

      • +
      +
    2. +
    3. Graph-based Indexes

      +
        +
      • HNSW (Hierarchical Navigable Small World) is a prominent example

      • +
      • Creates a multi-layered graph structure for navigation

      • +
      • Offers excellent search speed but requires more memory

      • +
      +
    4. +
    5. LSH (Locality-Sensitive Hashing)

      +
        +
      • Uses hash functions that map similar vectors to the same buckets

      • +
      • More memory-efficient than graph-based methods

      • +
      • May sacrifice some accuracy for performance

      • +
      +
    6. +
    7. Quantization-based Indexes

      +
        +
      • Product Quantization compresses vectors by encoding them into discrete values

      • +
      • Reduces memory footprint significantly

      • +
      • Good balance between accuracy and resource usage

      • +
      +
    8. +
    +

    HNSW is the underlying library for Chroma vector indexing and search [ChromaDB, 2024a]. HNSW provides fast searches with high accuracy but uses more memory. LSH and quantization methods offer better memory efficiency but may sacrifice some precision.

    +

    But are indexing + basic embeddings based similarity sufficient? Often not, as we will see next as we cover reranking technique.

    +
    +
    +

    5.3.1.3. Reranking

    +

    Let’s go back to querying our vector database. Here are additional examples.

    +

    First, we write a query about how to get structured output from LLMs. Successfully retrieving the “Structured Output” chapter from the book as top result.

    +
    +
    +
    q = "How to get structured output from LLMs?"
    +res = query_collection(collection, q)
    +res.get("ids")
    +
    +
    +
    +
    +
    [['structured_output', 'input', 'intro']]
    +
    +
    +
    +
    +

    Next, we would like to obtain a tutorial on Docling, a tool we covered in this very chapter. However, we fail to obtain the correct chapter and instead obtain the “Introduction” chapter as a result.

    +
    +
    +
    q = "Docling tutorial"
    +res = query_collection(collection, q)
    +res.get("ids")
    +
    +
    +
    +
    +
    [['intro', 'input', 'structured_output']]
    +
    +
    +
    +
    +

    Retrieval systems solely based on vector similarity search might miss semantic relevance. That brings the need for techniques that can improve accuracy of the retrieval system. One such technique is re-ranking.

    +

    Re-ranking is a method that can improve accuracy of the retrieval system by re-ranking the retrieved documents based on their relevance to the input query.

    +

    In the following, we will use the sentence_transformers library to re-rank the retrieved documents based on their relevance to the input query. We utilize the CrossEncoder model to re-rank the documents. Cross-Encoder models are more accurate at judging relevance at the cost of speed compared to basic vector-based similarity.

    +

    We can implement a reranking step in a RAG system using a Cross-Encoder model in the following steps:

    +
      +
    1. First, we initialize the Cross-Encoder model:

    2. +
    +
    model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2', max_length=512)
    +
    +
    +
      +
    • Uses the ms-marco-MiniLM-L-6-v2 model, which is specifically trained for passage reranking

    • +
    • Sets a maximum sequence length of 512 tokens

    • +
    • This model is designed to score the relevance between query-document pairs

    • +
    +
      +
    1. Then we perform the reranking:

    2. +
    +
    scores = model.predict([(q, doc) for doc in res["documents"][0]])
    +
    +
    +
      +
    • Creates pairs of (query, document) for each retrieved document

    • +
    • The model predicts relevance scores for each pair

    • +
    • Higher scores indicate better semantic match between query and document

    • +
    +
      +
    1. Finally, we select the best match:

    2. +
    +
    print(res["documents"][0][np.argmax(scores)])
    +
    +
    +
      +
    • np.argmax(scores) finds the index of the highest scoring document

    • +
    • Uses that index to retrieve the most relevant document

    • +
    +

    We obtain the following scores for the retrieved documents (“intro”, “input”, “structured_output”), the higher the score, the more relevant the document is in relation to the input query.

    +
    array([-8.52623 , -6.328738, -8.750055], dtype=float32)
    +
    +
    +

    As a result, we obtain the index of the highest scoring document, which corresponds to the “input” chapter. Hence, the re-ranking step successfully retrieved the correct chapter.

    +
    +
    +
    print(res["ids"][0][np.argmax(scores)])
    +
    +
    +
    +
    +
    input
    +
    +
    +
    +
    +

    The ideia is to first run semantic similarity on embeddings, which should be fast but potentially inaccurate, and then run re-raking on the top-k results, which is more accurate but slower. By doing so, we can balance the speed and accuracy of the retrieval system.

    +

    Hence, instead of going over all retrieved documents:

    +
    scores = model.predict([(q, doc) for doc in res["documents"][0]])
    +
    +
    +

    We would run reranking on the TOPK results, where TOPK <<< number of documents:

    +
    scores = model.predict([(q, doc) for doc in res["documents"][0][:TOPK]])
    +
    +
    +
    +
    +

    5.3.1.4. LLMs with RAG

    +

    We are finally ready to use the retrieval system to help the LLM answer our authorship question. A common way to integrate RAGs with LLMs is via in-context learning. With in-context learning the LLM learns from the retrieved documents by providing them in the context window as represented in Fig. 5.9. This is accomplished via a prompt template structure as follows.

    +
    +In-Context Learning +
    +

    Fig. 5.9 RAG LLM with In-Context Learning

    +
    +
    +
     rag_system_prompt_template = f"""
    + You are a helpful assistant that answers questions based on the provided CONTEXT.
    +
    + CONTEXT: {context}
    + """
    +
    + user_prompt_template = f"""
    + QUESTION: {input}
    + """
    +
    +
    +

    This prompt strategy demonstrates a common in-context learning pattern where retrieved documents are incorporated into the LLM’s context to enhance response accuracy and relevance. The prompt structure typically consists of a system prompt that:

    +
      +
    • Sets clear boundaries for the LLM to use information from the provided context

    • +
    • Includes the retrieved documents as context

    • +
    +

    This approach:

    +
      +
    • Reduces hallucination by grounding responses in source documents

    • +
    • Improves answer relevance by providing contextually relevant information to the LLM

    • +
    +

    The context variable is typically populated with the highest-scoring document(s) from the retrieval step, while the input variable contains the user’s original query.

    +
    +
    +
    def RAG_qa(client, model, context, input):
    +    """
    +    Generate a summary of input using a given model
    +    """
    +    rag_system_prompt_template =  f"""You are a helpful assistant that answers questions based on the provided CONTEXT.
    +
    +    CONTEXT: {context}
    +    """
    +    
    +    response = client.chat.completions.create(
    +    model=model,
    +        messages=[{"role": "system", "content": rag_system_prompt_template},
    +                 {"role": "user", "content": f"QUESTION: {input}"}]
    +    )
    +    return response.choices[0].message.content
    +
    +
    +
    +
    +

    First, we set the LLM.

    +
    +
    +
    from dotenv import load_dotenv
    +import os
    +
    +# Load environment variables from .env file
    +load_dotenv()
    +
    +from openai import OpenAI
    +client = OpenAI()
    +model = "gpt-4o-mini"
    +
    +
    +
    +
    +

    Then, we run the retrieve step.

    +
    +
    +
    res = query_collection(collection, q)
    +
    +
    +
    +
    +

    Next, we run the re-ranking step setting it to consider the TOPK retrieved documents.

    +
    +
    +
    TOPK = 2
    +scores = model.predict([(q, doc) for doc in res["documents"][0][:TOPK]])
    +res_reranked = res["documents"][0][np.argmax(scores)]
    +
    +
    +
    +
    +

    We then pass the top document as context and invoke the LLM with our RAG-based template leading to a successful response.

    +
    +
    +
    answer = RAG_qa(model, res_reranked[0], question)
    +answer
    +
    +
    +
    +
    +
    The author of the book "Taming LLMs" is Tharsis Souza.
    +
    +
    +
    +
    +

    In this section, we motivated the use of RAGs as a tool to equip LLMs with relevant context and provided a canonical implementation of its core components. RAGs, however, can be implemented in many shapes and forms and entire books have been written about them. We point the user to additional resources if more specialized techniques and architectures are needed [Alammar and Grootendorst, 2024, Diamant, 2024, Kimothi, 2024, AthinaAI, 2024].

    +

    Next, we discuss RAGs challenges and limitations and conclude our RAGs section envisioning the future of RAGs challenged by the rise of long-context language models.

    +
    +
    +
    +

    5.3.2. Challenges and Limitations

    +

    While RAG systems offer powerful capabilities for enhancing LLM responses with external knowledge, they face several significant challenges and limitations that require careful consideration:

    +
      +
    • Data Quality and Accuracy: The effectiveness of RAG systems fundamentally depends on the quality and reliability of their knowledge sources. When these sources contain inaccurate, outdated, biased, or incomplete information, the system’s responses become unreliable. This challenge is particularly acute when dealing with rapidly evolving topics or when sourcing information from unverified channels.

    • +
    • Computational Cost and Latency: Implementing RAG systems at scale presents computational and operational challenges. The process of embedding documents, maintaining vector databases, and performing similarity searches across large knowledge bases demands computational, budget and operational resources. In real-time applications, these requirements can introduce noticeable latency, potentially degrading the user experience and limiting practical applications.

    • +
    • Explainability and Evaluation: The complexity of RAG systems, arising from the intricate interaction between retrieval mechanisms and generative models, makes it difficult to trace and explain their reasoning processes. Traditional evaluation metrics often fail to capture the nuanced aspects of RAG performance, such as contextual relevance and factual consistency. This limitation hampers both system improvement and stakeholder trust. Readers are encouraged to read Chapter The Evals Gap for general LLM evaluation issues as well as consider tools such as Ragas [Ragas, 2024] for RAG evaluation.

    • +
    • Hallucination Management: Though RAG systems help ground LLM responses in source documents, they do not completely eliminate hallucinations. The generative component may still produce content that extrapolates beyond or misinterprets the retrieved context. This risk becomes particularly concerning when the system confidently presents incorrect information with apparent source attribution.

    • +
    +

    Moreover, recent research has shed light on critical limitations of key techniques used in RAGs systems. A relevant finding pertains to reranking, which has shown [Jacob et al., 2024]:

    +
      +
    • Diminishing Returns: Performance degrades as the number of documents (K) increases, sometimes performing worse than basic retrievers when dealing with large datasets.

    • +
    • Poor Document Discrimination: Rerankers can be misled by irrelevant documents, sometimes assigning high scores to content with minimal relevance to the query.

    • +
    • Consistency Issues: Performance and relative rankings between different rerankers can vary significantly depending on the number of documents being processed.

    • +
    +
    +
    +

    5.3.3. Will RAGs exist in the future?

    +

    This question is posed as we contrast RAGs with LLMs with long-context windows (LC).

    +

    Recent research has shed light on this specific point [Li et al., 2024], suggesting that, on the one hand, RAGs can be seen as a cost-effective alternative to LC models:

    +
      +
    • RAGs offer lower computational cost compared to LC due to the significantly shorter input length required for processing.

    • +
    • This cost-efficiency arises because RAG reduces the number of input tokens to LLMs, which of course reduces usage cost as pricing is based on the number of input (and output) tokens.

    • +
    +

    On the other hand, this RAG benefit is achieved at the cost of performance:

    +
      +
    • Recent advancements in LLMs, in particular with Gemini-1.5 and GPT-4o models, demonstrate capabilities in understanding long contexts directly, which enables them to outperform RAG in terms of average performance

    • +
    • LC models can process extremely long contexts, such as Gemini 1.5 which can handle up to 1 million tokens, and these models benefit from large-scale pretraining to develop strong long-context capabilities.

    • +
    +

    This cost-performance trade-off is illustrated in Fig. 5.10, where LC models outperform RAGs in terms of average performance while RAGs are more cost-effective.

    +
    +Long-Context LLMs for Superior Performance +
    +

    Fig. 5.10 Long-Context LLMs demonstrate superior performance while RAGs are more cost-effective [Li et al., 2024].

    +
    +
    +

    Fig. 5.10 also shows a model called “SELF-ROUTE” which combines RAG and LC by routing queries based on model self-reflection. This is a hybrid approach that reduces computational costs while maintaining performance comparable to LC. The advantage of SELF-ROUTE is most significant for smaller values of k, where k is the number of retrieved text chunks, and SELF-ROUTE shows a marked improvement in performance over RAG, while as k increases the performance of RAG and SELF-ROUTE approaches that of LC.

    +

    Another example of a hybrid approach that combines the benefits of both LC and RAGs is RetroLLM [Li et al., 2024], which is a unified framework that integrates retrieval and generation into a single process, enabling language models to generate fine-grained evidence directly from a corpus. The key contribution is that this approach delivers those benefits while eliminating the need for a separate retriever, addressing limitations of traditional RAG methods. Experimental results demonstrate RetroLLM’s superior performance compared to traditional RAG methods, across both in-domain and out-of-domain tasks. It also achieves a significant reduction in token consumption due to its fine-grained evidence retrieval.

    +

    A relevant development in this area is the introduction of LOFT [Lee et al., 2024], a benchmark to assess this paradigm shift from RAGs to LCs, using real-world tasks requiring context up to millions of tokens. Evidence suggests LCs can deliver performance with simplified pipelines compared to RAGs, particularly for tasking requiring multi-hop reasoning over long contexts when using Chain-of-Thought [Wei et al., 2023]. However, LCs can still be outperformed by specialized retrievers, in particular Gecko, a specialized model fine-tuned on extensive text retrieval and similarity tasks.

    +

    Bottom-line: Do we really need RAGs? The answer is conditional:

    +
      +
    • RAG may be relevant when cost-effectiveness is a key requirement and where the model needs to access vast amounts of external knowledge without incurring high computational expenses. However, as LLMs context window sizes increase and LLMs cost per input token is decreases, RAG may not be as relevant as it was before.

    • +
    • Long-context LLMs are superior when performance is the primary concern, and the model needs to handle extensive texts that require deep contextual understanding and reasoning.

    • +
    • Hybrid approaches like SELF-ROUTE are valuable as they combine the strengths of RAG and LC offering a practical balance between cost and performance, especially for applications where both factors are critical.

    • +
    +

    Ultimately, the choice between RAG, LC, or a hybrid method depends on the specific requirements of the task, available resources, and the acceptable trade-off between cost and performance.

    +

    In a later case study, we demonstrate the power of LCs as we construct a Quiz generator with citations over a large knowledge base without the use of chunking nor RAGs.

    +
    +
    +
    +

    5.4. A Note on Frameworks

    +

    We have covered a few open source tools for parsing data and provided a canonical RAG pipeline directly using an open source VectorDB together with an LLM. There is a growing number of frameworks that offer similar functionality wrapping the same core concepts at a higher level of abstraction. The two most popular ones are Langchain and LlamaIndex.

    +

    For instance, the code below shows how to use LlamaIndex’s LlamaParse for parsing input documents, which offers support for a wide range of file formats (e.g. .pdf, .pptx, .docx, .xlsx, .html). We we can see that the code is very similar to the one we used for MarkitDown and Docling.

    +
    from llama_parse import LlamaParse
    +
    +# Initialize the parser
    +parser = LlamaParse(
    +    api_key="llx-your-api-key-here",
    +    result_type="markdown",  # Can be "markdown" or "text"
    +    verbose=True
    +)
    +
    +documents = parser.load_data(["./doc1.pdf", "./doc2.pdf"])
    +
    +
    +

    As another example, the code below replicates our ChromaDB-based retrieval system using LlamaIndex [LlamaIndex, 2024].

    +

    As we can see, similar concepts are used in both frameworks:

    +
      +
    • Documents to represent elements of the knowledge base

    • +
    • Collections to store the documents

    • +
    • Indexing of embeddings in the VectorDB and finally

    • +
    • Querying the VectorDB to retrieve the documents

    • +
    +
    import chromadb
    +from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
    +from llama_index.vector_stores.chroma import ChromaVectorStore
    +from llama_index.core import StorageContext
    +
    +# load some documents
    +documents = SimpleDirectoryReader("./data").load_data()
    +
    +# initialize client, setting path to save data
    +db = chromadb.PersistentClient(path="./chroma_db")
    +
    +# create collection
    +chroma_collection = db.get_or_create_collection("tamingllms")
    +
    +# assign chroma as the vector_store to the context
    +vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
    +storage_context = StorageContext.from_defaults(vector_store=vector_store)
    +
    +# create your index
    +index = VectorStoreIndex.from_documents(
    +    documents, storage_context=storage_context
    +)
    +
    +# create a query engine and query
    +query_engine = index.as_query_engine()
    +response = query_engine.query("Who is the author of Taming LLMs?")
    +print(response)
    +
    +
    +

    Frameworks are useful for quickly prototyping RAG systems and for building applications on top of them as they provide a higher level of abstraction and integration with third-party libraries. However, the underlying concepts are the same as the ones we have covered in this chapter. More often than not, problems arise when developers either do not understand the underlying concepts or fail to understand the details of the implement behind the abstractions provided by the framework. Therefore, it is recommended to try and start your implementation using lower level tools as much as possible and only when (i) the underlying problem as well as (ii) the desired solution are well understood, then consider moving to higher level frameworks if really needed.

    -

    5.4. Case Studies

    -

    This section presents three case studies that demonstrate practical solutions to common LLM limitations:

    -

    First, Content Chunking with Contextual Linking showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.

    -

    Second, a Retrieval Augmented Generation case study addresses the challenge of stale or outdated model knowledge. By implementing semantic search over a GitHub repository, this example demonstrates how to augment LLM responses with current, accurate information - allowing users to query and receive up-to-date answers about code repository contents.

    -

    Third, the final case study builds a Quiz generator with citations. This case study explores some additional input management techniques that become particularly useful when long context window is available. This includes implementing prompt caching for efficiency and adding citations to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality.

    +

    5.5. Case Studies

    +

    This section presents two case studies to complement topics we have covered in this chapter in the context of managing input data for LLMs.

    +

    First, we cover content chunking, in particular Content Chunking with Contextual Linking which showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.

    +

    Second, we build a Quiz generator with citations using long context window. Not all knowledge intense applications require RAGs. In this case study, we show how to use long context window as well as some additional input management techniques such as prompt caching for efficiency and reference management to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality.

    -

    5.4.1. Case Study I: Content Chunking with Contextual Linking

    -

    Content chunking with contextual linking is a technique to break down long-form content into smaller, manageable chunks while keeping chunk-specific context. This approach tackles three problems:

    +

    5.5.1. Case Study I: Content Chunking with Contextual Linking

    +

    Content chunking is commonly used to breakdown long-form content into smaller, manageable chunks. In the context of RAGs, this can be helpful not only to help the retrieval system find more contextually relevant documents but also lead to a more cost efficient LLM solution since fewer tokens are processed in the context window. Furthermore, semantic chunking can increase accuracy of RAG systems [ZenML, 2024].

    +

    Content chunking with contextual linking is a chunking technique that seeks to split input content while keeping chunk-specific context, hence allowing the LLM to maintain coherence and context when generating responses per chunks. In that way, this technique tackles two key problems:

    1. The LLM’s inability to process long inputs to do context-size limits

    2. -
    3. The LLM’s inability to generate long-form content due to the max_output_tokens limitation.

    4. The LLM’s inability to maintain coherence and context when generating responses per chunks

    -

    Here, we exemplify this technique by following these steps:

    +

    As a consequence, a third problem is also tackled: LLM’s inability to generate long-form content due to the max_output_tokens limitation. Since we generate responses per chunk, as we will see later, we end up with a solution that is capable of generating long-form content while maintaining coherence.

    +

    We exemplify this technique by following these steps:

    1. Chunking the Content: The input content is split into smaller chunks. This allows the LLM to process each chunk individually, focusing on generating a complete and detailed response for that specific section of the input.

    2. Maintaining Context: Each chunk is linked with contextual information from the previous chunks. This helps in maintaining the flow and coherence of the content across multiple chunks.

    3. @@ -1425,7 +2040,7 @@

      -

      5.4.1.1. Generating long-form content

      +

      5.5.1.1. Generating long-form content

      • Goal: Generate a long-form report analyzing a company’s financial statement.

      • Input: A company’s 10K SEC filing.

      • @@ -1433,10 +2048,10 @@

        Content Chunking with Contextual Linking
        -

        Fig. 5.6 Content Chunking with Contextual Linking Schematic Representation.

        +

        Fig. 5.11 Content Chunking with Contextual Linking Schematic Representation.

        -

        The diagram in Fig. 5.6 illustrates the process we will follow for handling long-form content generation with Large Language Models through “Content Chunking with Contextual Linking.” It shows how input content is first split into manageable chunks using a chunking function (e.g. CharacterTextSplitter with tiktoken tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.

        +

        The diagram in Fig. 5.11 illustrates the process we will follow for handling long-form content generation with Large Language Models through “Content Chunking with Contextual Linking.” It shows how input content is first split into manageable chunks using a chunking function (e.g. CharacterTextSplitter with tiktoken tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.

        Step 1: Chunking the Content

        There are different methods for chunking, and each of them might be appropriate for different situations. However, we can broadly group chunking strategies in two types:

          @@ -1447,7 +2062,7 @@

          langchain for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters [LangChain, 2024] such as JSON-, Markdown- and HTML-based or split by token. We will use the CharacterTextSplitter with tiktoken as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.

          +

          Here, we will utilize langchain for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters [LangChain, 2024] such as JSON-, Markdown- and HTML-based or split by token. We will use the CharacterTextSplitter with tiktoken as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.

        @@ -1737,7 +2352,7 @@

        -

        5.4.1.2. Discussion

        +

        5.5.1.2. Discussion

        Results from the generated report present a few interesting aspects:

        • Coherence: The generated report demonstrates an apparent level of coherence. The sections are logically structured, and the flow of information is smooth. Each part of the report builds upon the previous sections, providing a comprehensive analysis of Apple Inc.’s financial performance and key risk factors. The use of headings and subheadings helps in maintaining clarity and organization throughout the document.

        • @@ -1748,28 +2363,25 @@

          Anthropic, 2024a]. The approach, as shown in Fig. 5.7, employs an LLM itself to generate relevant context per chunk before passing these two pieces of information together to the LLM. This process was proposed in the context of RAGs to enhance its retrieval capabilities but can be applied more generally to improve output generation.

          +

          Here, we implemented a simple strategy to improve the coherence in output generation given a multi-part chunked input. Many other strategies are possible. One related technique worth mentioning is Anthropic’s Contextual Retrieval [Anthropic, 2024a]. The approach, as shown in Fig. 5.12, employs an LLM itself to generate relevant context per chunk before passing these two pieces of information together to the LLM. This process was proposed in the context of RAGs to enhance its retrieval capabilities but can be applied more generally to improve output generation.

          Anthropic Contextual Linking
          -

          Fig. 5.7 Anthropic Contextual Linking [Anthropic, 2024a].

          +

          Fig. 5.12 Anthropic Contextual Linking [Anthropic, 2024a].

    -
    -

    5.4.2. Case Study II: Github RAG

    -
    -
    -

    5.4.3. Case Study III: Quiz Generation with Citations

    +
    +

    5.5.2. Case Study II: Quiz Generation with Citations

    In this case study, we will build a Quiz generator with citations that explores additional input management techniques particularly useful with long context windows. The implementation includes prompt caching for efficiency and citation tracking to enhance accuracy and verifiability. We will use Gemini 1.5 Pro as our LLM model, which has a context window of 2M tokens.

    -

    5.4.3.1. Use Case

    -

    Let’s assume you are a Harvard student enrolled in GOV 1039 “The Birth of Modern Democracy” (see Fig. 5.8), you face a daunting reading list for next Tuesday’s class on Rights. The readings include foundational documents like the Magna Carta, Declaration of Independence, and US Bill of Rights, each with specific sections to analyze.

    +

    5.5.2.1. Use Case

    +

    Let’s assume you are a Harvard student enrolled in GOV 1039 “The Birth of Modern Democracy” (see Fig. 5.13), you face a daunting reading list for next Tuesday’s class on Rights. The readings include foundational documents like the Magna Carta, Declaration of Independence, and US Bill of Rights, each with specific sections to analyze.

    Harvard Class
    -

    Fig. 5.8 Harvard’s Democratic Theory Class

    +

    Fig. 5.13 Harvard’s Democratic Theory Class

    Instead of trudging through these dense historical texts sequentially, we would like to:

    @@ -1780,7 +2392,7 @@

    -

    5.4.3.2. Implementation

    +

    5.5.2.2. Implementation

    The full implementation is available at Book’s Github repository. Here, we will cover the most relevant parts of the implementation.

    Client Class

    First, we will define the Client class which will provide the key interface users will interact with. It has the following summarized interface:

    @@ -1810,12 +2422,12 @@

    add() method is key since it is used to add content to the client. It takes a list of URLs and extracts the content from each URL using a content extractor (using MarkitDown). The content is then added to the conversation input memory in a way that enables citations using the “Corpus-in-Context” (CIC) Prompting [Lee et al., 2024].

    -

    Fig. 5.9 shows how CIC format is used to enable citations. It inserts a corpus into the prompt. Each candidate citable part (e.g., passage, chapter) in a corpus is assigned a unique identifier (ID) that can be referenced as needed for that task.

    +

    The add() method is key since it is used to add content to the client. It takes a list of URLs and extracts the content from each URL using a content extractor (using MarkitDown). The content is then added to the conversation input memory in a way that enables citations using the “Corpus-in-Context” (CIC) Prompting [Lee et al., 2024].

    +

    Fig. 5.14 shows how CIC format is used to enable citations. It inserts a corpus into the prompt. Each candidate citable part (e.g., passage, chapter) in a corpus is assigned a unique identifier (ID) that can be referenced as needed for that task.

    CIC Format
    -

    Fig. 5.9 Example of Corpus-in-Context Prompting for retrieval.

    +

    Fig. 5.14 Example of Corpus-in-Context Prompting for retrieval.

    CiC prompting leverages LLM’s capacity to follow instructions by carefully annotating the corpus with document IDs. It benefits from a strong, capable models to retrieve over large corpora provided in context.

    @@ -1911,7 +2523,7 @@

    {citations} instructs the model to add CiC citations to the response if user requests it.

    -

    5.4.3.3. Example Usage

    +

    5.5.2.3. Example Usage

    Dataset

    First, we will define our knowledge base.

      @@ -1979,16 +2591,16 @@

      Fig. 5.10 shows a sample quiz with citations. Marked in yellow are the citations which refer to the input IDs of the resources we added to the model.

      +

      Fig. 5.15 shows a sample quiz with citations. Marked in yellow are the citations which refer to the input IDs of the resources we added to the model.

      Quiz with Citations
      -

      Fig. 5.10 Sample Quiz with Citations.

      +

      Fig. 5.15 Sample Quiz with Citations.

    -
    -

    5.4.3.4. Discussion

    +
    +

    5.5.2.4. Discussion

    The experiment demonstrated the ability to build a knowledge base from multiple sources while leveraging prompt caching for efficiency and generate quizzes with citations for verifiability. The system successfully ingested content from Project Gutenberg texts, including historical documents like the Magna Carta, and used them to create interactive educational content.

    However, several limitations emerged during this process:

      @@ -2001,7 +2613,10 @@

      -

      5.5. Conclusion

      +

      5.6. Conclusion

      +

      This chapter has explored critical strategies and techniques for managing input data in LLM applications, focusing on three key areas: data parsing, retrieval augmentation, and practical implementation patterns. We examined how parsing tools like MarkItDown and Docling can transform diverse data formats into LLM-compatible representations, demonstrating through case studies how parser quality can impact LLM performance. The chapter also investigated retrieval augmentation techniques, particularly RAG systems, showing how they can enhance LLM capabilities by providing access to external knowledge while discussing their future relevance in the context of emerging long-context language models.

      +

      Through our case studies, we demonstrated practical approaches to handling common challenges in LLM applications. The Content Chunking with Contextual Linking case study illustrated techniques for managing long-form content generation while maintaining coherence across chunks. The Quiz Generation with Citations case study showcased how long-context windows can be effectively utilized without the need for complex retrieval systems, highlighting the importance of choosing the right approach based on specific application requirements rather than defaulting to more complex solutions.

      +

      As the field continues to evolve, the choice between traditional RAG systems and emerging long-context models will likely become increasingly nuanced. While RAGs offer cost-effective solutions for incorporating external knowledge, the rise of long-context models suggests a future where simpler architectures might suffice for many applications. The key insight is that effective input data management requires careful consideration of trade-offs among complexity, cost, and performance, always guided by specific application requirements rather than following a one-size-fits-all approach. Success in building robust LLM applications will depend on understanding these trade-offs and selecting appropriate strategies for each use case.

      CC BY-NC-SA 4.0

      @misc{tharsistpsouza2024tamingllms,
         author = {Tharsis T. P. Souza},
      @@ -2015,52 +2630,168 @@ 

      -

      5.6. References

      -
      -
      +

      5.7. References

      +
      +
      +[AG24] +

      Jay Alammar and Maarten Grootendorst. Hands-On Large Language Models. O'Reilly, 2024. ISBN 978-1098150969. URL: https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/.

      +
      +
      [AWP+24]

      Alfonso Amayuelas, Kyle Wong, Liangming Pan, Wenhu Chen, and William Yang Wang. Knowledge of knowledge: exploring known-unknowns uncertainty with large language models. In Lun-Wei Ku, Andre Martins, and Vivek Srikumar, editors, Findings of the Association for Computational Linguistics: ACL 2024, 6416–6432. Bangkok, Thailand, August 2024. Association for Computational Linguistics. URL: https://aclanthology.org/2024.findings-acl.383, doi:10.18653/v1/2024.findings-acl.383.

      -
      -[KSR24] +
      +[BCV14] +

      Yoshua Bengio, Aaron Courville, and Pascal Vincent. Representation learning: a review and new perspectives. 2014. URL: https://arxiv.org/abs/1206.5538, arXiv:1206.5538.

      +
      +
      +[Dia24] +

      Nir Diamant. Rag techniques. GitHub Repository, 2024. Collection of advanced RAG techniques and implementation patterns. URL: https://github.com/NirDiamant/RAG_Techniques.

      +
      +
      +[HRK+24] +(1,2) +

      Jia He, Mukund Rungta, David Koleczek, Arshdeep Sekhon, Franklin X Wang, and Sadid Hasan. Does prompt formatting have any impact on llm performance? 2024. URL: https://arxiv.org/abs/2411.10541, arXiv:2411.10541.

      +
      +
      +[JLZ+24] +

      Mathew Jacob, Erik Lindgren, Matei Zaharia, Michael Carbin, Omar Khattab, and Andrew Drozdov. Drowning in documents: consequences of scaling reranker inference. 2024. URL: https://arxiv.org/abs/2411.11767, arXiv:2411.11767.

      +
      +
      +[Kim24] +

      Abhinav Kimothi. A Simple Guide to Retrieval Augmented Generation. Manning Publications, 2024. ISBN 9781633435858. Manning Early Access Program (MEAP). URL: https://www.manning.com/books/a-simple-guide-to-retrieval-augmented-generation.

      +
      +
      +[KSR24]

      Suhas Kotha, Jacob Mitchell Springer, and Aditi Raghunathan. Understanding catastrophic forgetting in language models via implicit inference. In The Twelfth International Conference on Learning Representations. 2024. URL: https://openreview.net/forum?id=VrHiF2hsrm.

      -
      +
      [LCD+24] -(1,2) +(1,2,3)

      Jinhyuk Lee, Anthony Chen, Zhuyun Dai, Dheeru Dua, Devendra Singh Sachan, Michael Boratko, Yi Luan, Sébastien M. R. Arnold, Vincent Perot, Siddharth Dalmia, Hexiang Hu, Xudong Lin, Panupong Pasupat, Aida Amini, Jeremy R. Cole, Sebastian Riedel, Iftekhar Naim, Ming-Wei Chang, and Kelvin Guu. Can long-context language models subsume retrieval, rag, sql, and more? 2024. URL: https://arxiv.org/abs/2406.13121, arXiv:2406.13121.

      -
      -[LPP+21] +
      +[LPP+21]

      Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, and Douwe Kiela. Retrieval-augmented generation for knowledge-intensive nlp tasks. 2021. URL: https://arxiv.org/abs/2005.11401, arXiv:2005.11401.

      -
      -[NBGC24] +
      +[LJZ+24] +

      Xiaoxi Li, Jiajie Jin, Yujia Zhou, Yongkang Wu, Zhonghua Li, Qi Ye, and Zhicheng Dou. Retrollm: empowering large language models to retrieve fine-grained evidence within generation. 2024. URL: https://arxiv.org/abs/2412.11919, arXiv:2412.11919.

      +
      +
      +[LLZ+24] +(1,2) +

      Zhuowan Li, Cheng Li, Mingyang Zhang, Qiaozhu Mei, and Michael Bendersky. Retrieval augmented generation or long-context llms? a comprehensive study and hybrid approach. 2024. URL: https://arxiv.org/abs/2407.16833, arXiv:2407.16833.

      +
      +
      +[LFC+24] +(1,2) +

      Kai Liu, Zhihang Fu, Chao Chen, Wei Zhang, Rongxin Jiang, Fan Zhou, Yaowu Chen, Yue Wu, and Jieping Ye. Enhancing llm's cognition via structurization. 2024. URL: https://arxiv.org/abs/2407.16434, arXiv:2407.16434.

      +
      +
      +[Lla24] +

      LlamaIndex. Llamaparse: extract structured data from text and pdfs using llms. 2024. LlamaParse. URL: https://github.com/run-llama/llama_parse.

      +
      +
      +[NBGC24]

      Shiyu Ni, Keping Bi, Jiafeng Guo, and Xueqi Cheng. When do LLMs need retrieval augmentation? mitigating LLMs' overconfidence helps retrieval augmentation. In Lun-Wei Ku, Andre Martins, and Vivek Srikumar, editors, Findings of the Association for Computational Linguistics: ACL 2024, 11375–11388. Bangkok, Thailand, August 2024. Association for Computational Linguistics. URL: https://aclanthology.org/2024.findings-acl.675, doi:10.18653/v1/2024.findings-acl.675.

      -
      -[TDW+24] +
      +[TDW+24] +(1,2)

      Jiejun Tan, Zhicheng Dou, Wen Wang, Mang Wang, Weipeng Chen, and Ji-Rong Wen. Htmlrag: html is better than plain text for modeling retrieved knowledge in rag systems. 2024. URL: https://arxiv.org/abs/2411.02959, arXiv:2411.02959.

      -
      -[ZLJ+24] +
      +[WWS+23] +

      Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, and Denny Zhou. Chain-of-thought prompting elicits reasoning in large language models. 2023. URL: https://arxiv.org/abs/2201.11903, arXiv:2201.11903.

      +
      +
      +[WIP+24] +

      Yunshu Wu, Hayate Iso, Pouya Pezeshkpour, Nikita Bhutani, and Estevam Hruschka. Less is more for long document summary evaluation by llms. 2024. URL: https://arxiv.org/abs/2309.07382, arXiv:2309.07382.

      +
      +
      +[ZLJ+24]

      Yujia Zhou, Zheng Liu, Jiajie Jin, Jian-Yun Nie, and Zhicheng Dou. Metacognitive retrieval-augmented large language models. In Proceedings of the ACM Web Conference 2024, WWW '24, 1453–1463. New York, NY, USA, 2024. Association for Computing Machinery. URL: https://doi.org/10.1145/3589334.3645481, doi:10.1145/3589334.3645481.

      -
      +
      [Anthropic4a] -(1,2) +(1,2)

      Anthropic. Introducing contextual retrieval. 09 2024a. URL: https://www.anthropic.com/news/contextual-retrieval.

      -
      -[LangChain24] +
      +[AthinaAI24] +

      AthinaAI. Rag cookbooks. GitHub Repository, 2024. Collection of recipes and best practices for building RAG applications. URL: https://github.com/athina-ai/rag-cookbooks.

      +
      +
      +[ChromaDB4a] +

      ChromaDB. Chromadb cookbook: hnsw configuration. Website, 2024a. URL: https://cookbook.chromadb.dev/core/configuration/#hnsw-configuration.

      +
      +
      +[ChromaDB4b] +

      ChromaDB. Chromadb documentation. Website, 2024b. URL: https://docs.trychroma.com/.

      +
      +
      +[HuggingFace4f] +

      HuggingFace. Sentence transformers. Website, 2024f. URL: https://huggingface.co/sentence-transformers.

      +
      +
      +[HuggingFace4i] +

      HuggingFace. Massive text embedding benchmark (mteb) leaderboard. Website, 2024i. URL: https://huggingface.co/spaces/mteb/leaderboard.

      +
      +
      +[IBMResearch24] +

      IBM Research. Docling: a document-level linguistic annotation framework. GitHub Repository, 2024. Framework for document-level linguistic annotation and analysis. URL: https://github.com/DS4SD/docling.

      +
      +
      +[LangChain24]

      LangChain. Text splitters - langchain documentation. https://python.langchain.com/docs/how_to/#text-splitters, 2024. Accessed: 12/07/2024.

      -
      -[MerrillLynch24] +
      +[LlamaIndex24] +

      LlamaIndex. Storing - llamaindex documentation. Website, 2024. URL: https://docs.llamaindex.ai/en/stable/understanding/storing/storing/.

      +
      +
      +[MendableAI24] +

      Mendable AI. Firecrawl: a fast and efficient web crawler for llm training data. GitHub Repository, 2024. High-performance web crawler optimized for collecting LLM training data. URL: https://github.com/mendableai/firecrawl.

      +
      +
      +[MerrillLynch24] +(1,2)

      Merrill Lynch. Chief investment officer capital market outlook. CIO Weekly Letter, 2024. URL: https://olui2.fs.ml.com/publish/content/application/pdf/gwmol/me-cio-weekly-letter.pdf.

      +
      +[Microsoft24] +

      Microsoft. Markitdown: structured generation with large language models. GitHub Repository, 2024. Framework for structured text generation using LLMs. URL: https://github.com/microsoft/markitdown.

      +
      +[OpenAI24] +

      OpenAI. What are embeddings? Website, 2024. URL: https://platform.openai.com/docs/guides/embeddings/what-are-embeddings.

      +
      +[Ragas24] +

      Ragas. Rag evaluation - ragas documentation. Website, 2024. URL: https://docs.ragas.io/en/stable/getstarted/rag_evaluation/.

      +
      +
      +[Unstructuredio24] +

      Unstructured.io. Unstructured: open source libraries for pre-processing documents. GitHub Repository, 2024. URL: https://github.com/Unstructured-IO/unstructured.

      +
      +
      +[ZenML24] +

      ZenML. Scaling rag accuracy from 49% to 86% in finance q&a assistant. Website, 2024. URL: https://www.zenml.io/llmops-database/scaling-rag-accuracy-from-49-to-86-in-finance-q-a-assistant.

      +
      +
      +
      +
      +

    diff --git a/tamingllms/_build/html/notebooks/local.html b/tamingllms/_build/html/notebooks/local.html index 173e81a..b1a01f9 100644 --- a/tamingllms/_build/html/notebooks/local.html +++ b/tamingllms/_build/html/notebooks/local.html @@ -252,7 +252,7 @@
    -

    8. Local LLMs in Practice

    +

    8. Local LLMs in Practice

    Freedom is something that dies unless it’s used.

    —Hunter S. Thompson

    @@ -260,55 +260,55 @@
    -

    8.1. Introduction

    +

    8.1. Introduction

    Running Open Source LLMs locally versus depending on proprietary cloud-based models represents more than just a technical choice - it’s a fundamental re-imagining of how we interact with AI technology, putting control back in the hands of users.

    Privacy concerns are a key driver for running LLMs locally. Individual users may want to process personal documents, photos, emails, and chat messages without sharing sensitive data with third parties. For enterprise use cases, organizations handling medical records must comply with HIPAA regulations that require data to remain on-premise. Similarly, businesses processing confidential documents and intellectual property, as well as organizations subject to GDPR and other privacy regulations, need to maintain strict control over their data processing pipeline.

    Cost considerations are another key driver. Organizations and individual consumers can better control expenses by matching model capabilities to their specific needs rather than paying for multiple cloud API subscriptions. For organizations with high-volume applications, this customization and control over costs becomes especially valuable compared to the often prohibitive per-request pricing of cloud solutions. For consumers, running multiple open source models locally eliminates the need to maintain separate subscriptions to access different model capabilities.

    @@ -318,11 +318,11 @@

    -

    8.2. Choosing your Model

    +

    8.2. Choosing your Model

    The landscape of open source LLMs is rapidly evolving, with new models emerging by the day. While proprietary LLMs have garnered significant attention, open source LLMs are gaining traction due to their flexibility, customization options, and cost-effectiveness.

    It is important to observe long-term strategic considerations when choosing a model. These entails prioritization dimensions that may enable competitive advantage in the long-term, including:

      -
    1. Managed Services Support: You may start experimenting locally with LLMs but eventually you will need to deployment options: either host models yourself or consider managed services. Cloud providers like AWS Bedrock, SambaNova and Together.ai can simplify deployment and management but model family support varies along with varying SLAs for model availability, support and model serving [Analysis, 2024]. One should evaluate the availability of managed services for your target model family.

    2. +
    3. Managed Services Support: You may start experimenting locally with LLMs but eventually you will need to deployment options: either host models yourself or consider managed services. Cloud providers like AWS Bedrock, SambaNova and Together.ai can simplify deployment and management but model family support varies along with varying SLAs for model availability, support and model serving [Analysis, 2024]. One should evaluate the availability of managed services for your target model family.

    4. Vendor Long-Term Viability: Consider vendor’s long-term strategy and transparency around future development. Evaluate factors like funding, market position, and development velocity to assess whether the vendor will remain a reliable partner. Further, transparency around long-term strategy and roadmap is a critical consideration when choosing a model vendor partner.

    5. Single-Provider Lock-in: Users and organizations should avoid the risk of lock-in by remaining flexible with your choice of LLM providers. Today’s winning models are not guaranteed to be the same in the future.

    6. Time-to-market and Customization: As the same models are available to everyone, base capabilities are becoming commoditized. As a consequence, competitive advantage comes from the application layer. Hence, the ability to iterate fast while customizing to your specific domain becomes a critical strategic consideration when choosing a model.

    7. @@ -330,7 +330,7 @@

      -

      8.2.1. Task Suitability

      +

      8.2.1. Task Suitability

      When evaluating an open source LLM, task suitability is a critical first consideration. A model that performs well on general benchmarks may struggle with specific domain tasks. Understanding the intended use case helps narrow down model options based on their demonstrated strengths.

      Task Categories

      When determining which LLM task to prioritize, carefully consider your specific use case and end-user needs. Different applications require distinct model capabilities and optimizations. Common LLM Task Categories include:

      @@ -344,11 +344,11 @@

      Fig. 8.1 shows the number models per task category available at Hugging Face as of December 22, 2024 [Face, 2024t]. Text generation is by far the most popular task category.

      +

      Fig. 8.1 shows the number models per task category available at Hugging Face as of December 22, 2024 [HuggingFace, 2024t]. Text generation is by far the most popular task category.

      Task Number
      -

      Fig. 8.1 Number of models per task category from Hugging Face as of December 22, 2024 [Face, 2024t].

      +

      Fig. 8.1 Number of models per task category from Hugging Face as of December 22, 2024 [HuggingFace, 2024t].

      Model Types

      @@ -364,8 +364,8 @@

      Fig. 8.2 Model Types.

      -

      The Llama 2 model family [Touvron et al., 2023] illustrates these distinctions well. The base Llama 2, trained on 2 trillion tokens of public data, demonstrates general-purpose capabilities across text generation and translation tasks. Its chat-optimized instruction-tuned variant, Llama 2-Chat, underwent additional fine-tuning on over 1 million human-annotated conversational examples, making it particularly adept at natural dialogue.

      -

      Benchmark results [Meta AI, 2024c] in Table 8.1 highlight the impact of model specialization. On the TruthfulQA [Lin et al., 2022] and Toxigen [Alnajjar and others, 2024] benchmarks measuring truthful and informative responses. We observe that the chat-optimized variants show substantially improved truthfulness. Similarly, on the ToxiGen benchmark measuring toxic content generation, Llama 2-Chat models demonstrate near-zero toxicity compared to base models’ 21-26% rates.

      +

      The Llama 2 model family [Touvron et al., 2023] illustrates these distinctions well. The base Llama 2, trained on 2 trillion tokens of public data, demonstrates general-purpose capabilities across text generation and translation tasks. Its chat-optimized instruction-tuned variant, Llama 2-Chat, underwent additional fine-tuning on over 1 million human-annotated conversational examples, making it particularly adept at natural dialogue.

      +

      Benchmark results [Meta AI, 2024c] in Table 8.1 highlight the impact of model specialization. On the TruthfulQA [Lin et al., 2022] and Toxigen [Alnajjar and others, 2024] benchmarks measuring truthful and informative responses. We observe that the chat-optimized variants show substantially improved truthfulness. Similarly, on the ToxiGen benchmark measuring toxic content generation, Llama 2-Chat models demonstrate near-zero toxicity compared to base models’ 21-26% rates.

    Table 3.6 Comparison of Lighteval, LangSmith, and Promptfoo
    @@ -408,7 +408,7 @@

    [Hui et al., 2024] is an example of a purpose-built model that demonstrates significant performance on the specific task of code generation.

    +

    While Llama family of models exhibits strong performance across general knowledge, instruction following, and specialized domains, purpose-built models may still outperform it in highly specific applications. Qwen/Qwen2.5-Coder-32B-Instruct [Hui et al., 2024] is an example of a purpose-built model that demonstrates significant performance on the specific task of code generation.

    Model Features

    Model features can either enable or limit the feasibility of specific use cases. Understanding features of your candidate models is crucial for determining whether a model is suitable for your application. For example:

      @@ -420,9 +420,9 @@

      -

      8.2.2. Performance & Cost

      +

      8.2.2. Performance & Cost

      General benchmarks are useful for comparing models across different standard tasks. Open Source models are becoming more competitive with proprietary models with LLama, Qwen, DeepSeek and Mistral model families being some of the most powerful open source models available today.

      -

      Qwen model family [Qwen et al., 2024] emerged in 2024 as a model family achieving competitive performance with relatively smaller parameter counts compared to its competitors. The flagship Qwen2.5-72B-Instruct model demonstrates performance comparable to the much larger Llama-3-405B-Instruct while being about 5 times smaller. The models excel in specialized tasks like mathematics and coding, handle structured data effectively, and offer enhanced support for tool use and long-text generation as shown in Fig. 8.3.

      +

      Qwen model family [Qwen et al., 2024] emerged in 2024 as a model family achieving competitive performance with relatively smaller parameter counts compared to its competitors. The flagship Qwen2.5-72B-Instruct model demonstrates performance comparable to the much larger Llama-3-405B-Instruct while being about 5 times smaller. The models excel in specialized tasks like mathematics and coding, handle structured data effectively, and offer enhanced support for tool use and long-text generation as shown in Fig. 8.3.

      Qwen Performance
      @@ -436,7 +436,7 @@

      Fig. 8.4 Performance Comparison including proprietary models.

      -

      Also from China, DeepSeek-V3 [DeepSeek, 2024] represents a major breakthrough in open source language models, emerging as arguably the most capable open source large language model available as of the end of 2024. With 671 billion parameters and 37 billion active MoE (Mixture of Experts) parameters, it achieves performance on par with leading proprietary models like Claude 3.5 Sonnet and GPT 4o as shown in Fig. 8.5. The model demonstrates impressive cost efficiency metrics (see Fig. 8.6), processing input tokens at \(0.27 per million and output tokens at \)1.1 per million, while maintaining a generation speed of 60 tokens per second (3x faster than DeepSeek-V2).

      +

      Also from China, DeepSeek-V3 [DeepSeek, 2024] represents a major breakthrough in open source language models, emerging as arguably the most capable open source large language model available as of the end of 2024. With 671 billion parameters and 37 billion active MoE (Mixture of Experts) parameters, it achieves performance on par with leading proprietary models like Claude 3.5 Sonnet and GPT 4o as shown in Fig. 8.5. The model demonstrates impressive cost efficiency metrics (see Fig. 8.6), processing input tokens at \(0.27 per million and output tokens at \)1.1 per million, while maintaining a generation speed of 60 tokens per second (3x faster than DeepSeek-V2).

      What makes DeepSeek-V3 particularly remarkable is that these capabilities were achieved with a relatively modest training budget of just $5.5 million, used to train on 14.8 trillion tokens. This efficiency in training demonstrates the potential for open source models to compete with proprietary alternatives at a fraction of the cost. The model’s release marks a significant milestone in the democratization of advanced AI capabilities, challenging the dominance of proprietary models within big tech. One should be cautious though as the model has not yet been battle-tested in the wild but this is an exciting development demonstrating the potential of open source models to compete with proprietary alternatives.

      DeepSeek-V3 @@ -469,7 +469,7 @@

      Fig. 8.7 shows a comparison of quality now with the added dimension of cost. Quality is measured as an average of scores from MMLU, GPQA, Math & HumanEval benchmarks [Analysis, 2024]. Price is a blend of Cost Per Input Token plus Input & Cost Per Output Token (3:1 ratio). Reported numbers represent median across cloud providers [Analysis, 2024] supporting these models.

      +

      Fig. 8.7 shows a comparison of quality now with the added dimension of cost. Quality is measured as an average of scores from MMLU, GPQA, Math & HumanEval benchmarks [Analysis, 2024]. Price is a blend of Cost Per Input Token plus Input & Cost Per Output Token (3:1 ratio). Reported numbers represent median across cloud providers [Analysis, 2024] supporting these models.

      Performance Comparison including proprietary models.
      @@ -502,7 +502,7 @@

      -

      8.2.3. Licensing

      +

      8.2.3. Licensing

      When evaluating open-source LLMs, it’s important to consider licensing and data usage policies. Some models may require attribution or commercial use licenses, while others may be more permissive. Additionally, ensure that the model’s training data is compatible with your intended use case and complies with relevant data protection laws.

      The licensing landscape for LLMs spans from highly permissive to custom and restricted usage. Table 8.2 provides a summary of the licensing terms for some of the most popular open source LLMs. We observe two types of licenses:

        @@ -557,30 +557,30 @@

        Review, 2024] serves as a pivotal example, where the Times claims its copyrighted materials were used without authorization to train language models. This litigation has far-reaching consequences for developers building LLM-powered applications. Should courts rule in favor of copyright holders, model providers may need to withdraw and retrain models containing protected content. These legal uncertainties introduce substantial complexity into LLM implementation strategies, demanding careful consideration during project planning phases.

        -

        Recent LLM releases demonstrate varying levels of data transparency. For instance, Qwen2.5’s approach [Qwen et al., 2024] illustrates common industry practices in both its achievements and limitations. On the training data scale front, Qwen2.5 does provide some transparency by discussing some training data methodology compared to previous versions such as expanding from 7 trillion to 18 trillion tokens, while implementing sophisticated quality filtering and carefully balancing domain representation through sampling adjustments.

        +

        The legal landscape surrounding LLM training data has grown increasingly complex, particularly regarding copyright infringement concerns. The high-profile lawsuit between OpenAI and The New York Times [Review, 2024] serves as a pivotal example, where the Times claims its copyrighted materials were used without authorization to train language models. This litigation has far-reaching consequences for developers building LLM-powered applications. Should courts rule in favor of copyright holders, model providers may need to withdraw and retrain models containing protected content. These legal uncertainties introduce substantial complexity into LLM implementation strategies, demanding careful consideration during project planning phases.

        +

        Recent LLM releases demonstrate varying levels of data transparency. For instance, Qwen2.5’s approach [Qwen et al., 2024] illustrates common industry practices in both its achievements and limitations. On the training data scale front, Qwen2.5 does provide some transparency by discussing some training data methodology compared to previous versions such as expanding from 7 trillion to 18 trillion tokens, while implementing sophisticated quality filtering and carefully balancing domain representation through sampling adjustments.

        However, like many commercial LLMs, Qwen2.5 exhibits transparency limitations. The report provides incomplete disclosure of data sources and limited information about the proportions of different data types used in training. The preprocessing methodologies remain unclear, and there is minimal discussion of potential biases that may exist in the training data.

        -

        Similarly, in the Llama 3 paper [AI, 2024c], Meta AI does share some details about the pre-training corpus stating simply stating that it was around 15T multilingual tokens, compared to 1.8T tokens for Llama 2. The exact sources of data used for pre-training and post-training are not explicitly listed.

        +

        Similarly, in the Llama 3 paper [AI, 2024c], Meta AI does share some details about the pre-training corpus stating simply stating that it was around 15T multilingual tokens, compared to 1.8T tokens for Llama 2. The exact sources of data used for pre-training and post-training are not explicitly listed.

        These gaps in transparency reflect a broader industry challenge in balancing commercial interests with the need for openness and scientific reproducibility.

        -

        A significant advancement in open-source language model training data is HuggingFace’s release of the FineWeb datasets. In its first release [Penedo et al., 2024], FineWeb is made of a 15-trillion token dataset derived from 96 Common Crawl snapshots that produces better-performing LLMs than other open pretraining datasets. Additionally, data curation codebase and all of the models trained during our ablation experiments are made available. FineWeb is a fine example of an initiative that helps minimize the gap between proprietary and public knowledge.

        +

        A significant advancement in open-source language model training data is HuggingFace’s release of the FineWeb datasets. In its first release [Penedo et al., 2024], FineWeb is made of a 15-trillion token dataset derived from 96 Common Crawl snapshots that produces better-performing LLMs than other open pretraining datasets. Additionally, data curation codebase and all of the models trained during our ablation experiments are made available. FineWeb is a fine example of an initiative that helps minimize the gap between proprietary and public knowledge.

        -

        8.2.4. Community Support

        +

        8.2.4. Community Support

        Community support plays a vital role in the open-source LLM ecosystem. Active communities contribute to model development, provide technical assistance, and share valuable resources. When evaluating open-source LLMs, the strength and engagement of the community should be a key consideration, as it directly impacts the model’s long-term viability and practical utility.

        The popularity of different model families reflects their community adoption. In 2024, the Qwen and Llama families have emerged as clear favorites, with Qwen2.5-1.5B-Instruct alone representing 35% of total open source models downloads in 2024.

        Hugging Face Downloads
        -

        Fig. 8.10 Hugging Face Model Downloads in 2024 as of December 22 of the same year [Face, 2024t].

        +

        Fig. 8.10 Hugging Face Model Downloads in 2024 as of December 22 of the same year [HuggingFace, 2024t].

        -

        Strong communities accelerate model innovation through collective effort. When developers and researchers collaborate on model development, they create a powerful ecosystem of continuous improvement. Through transparent sharing of findings, they enable rapid development of novel applications and specialized model variants for specific domains. This collaborative environment naturally leads to the establishment of best practices and frameworks that benefit the entire community. The success of this community-driven approach is evident in models like Qwen2.5-1.5B-Instruct, which has spawned 200+ derivative models through post-training adaptations [Qwen, 2024b].

        +

        Strong communities accelerate model innovation through collective effort. When developers and researchers collaborate on model development, they create a powerful ecosystem of continuous improvement. Through transparent sharing of findings, they enable rapid development of novel applications and specialized model variants for specific domains. This collaborative environment naturally leads to the establishment of best practices and frameworks that benefit the entire community. The success of this community-driven approach is evident in models like Qwen2.5-1.5B-Instruct, which has spawned 200+ derivative models through post-training adaptations [Qwen, 2024b].

        -

        8.2.5. Customization

        +

        8.2.5. Customization

        Model customization is an important consideration when selecting an open-source LLM. Adapting and fine-tuning to specific use cases can significantly impact practical utility and performance in production environments.

        Model providers increasingly offer streamlined fine-tuning services. For example, Mistral demonstrates an accessible approach to model customization. -The code below shows Mistral’s straightforward fine-tuning API. The example shows how to create and start a fine-tuning job with just a few lines of code. The fine-tuning job is configured with the base model “open-mistral-7b” and uses training and validation files from the Ultrachat dataset [Face, 2024u]. This API design makes it easy to experiment with model customization while maintaining control over the training process.

        +The code below shows Mistral’s straightforward fine-tuning API. The example shows how to create and start a fine-tuning job with just a few lines of code. The fine-tuning job is configured with the base model “open-mistral-7b” and uses training and validation files from the Ultrachat dataset [HuggingFace, 2024u]. This API design makes it easy to experiment with model customization while maintaining control over the training process.

        # create a fine-tuning job
         created_jobs = client.fine_tuning.jobs.create(
             model="open-mistral-7b", 
        @@ -599,7 +599,7 @@ 

        created_jobs

        -

        For more comprehensive customization needs, Hugging Face’s Transformer Reinforcement Learning (TRL) toolkit provides robust capabilities for model adaptation. Built on the Transformers library, TRL supports [Face, 2024d]:

        +

        For more comprehensive customization needs, Hugging Face’s Transformer Reinforcement Learning (TRL) toolkit provides robust capabilities for model adaptation. Built on the Transformers library, TRL supports [HuggingFace, 2024d]:

        • Supervised Fine-Tuning (SFT)

        • Reward Modeling (RM)

        • @@ -607,7 +607,7 @@

          Case Study: Aligning a Language Model to a Policy, we will explore how to use TRL to fine-tune a model to align with user preferences.

          -

          Successful model customization demands managing critical resources throughout the development lifecycle. This includes rigorous dataset preparation and validation to ensure high-quality training data, careful configuration of training infrastructure to optimize computational resources, systematic experimentation iterations while managing associated costs, comprehensive performance evaluation frameworks to measure improvements, and thoughtful deployment architecture planning to ensure smooth production integration. Of course, actual cost of storage and inference should be taken into consideration. Table 8.3 shows as an example the cost of associated with fine-tuning Mistral models [AI, 2024a].

          +

          Successful model customization demands managing critical resources throughout the development lifecycle. This includes rigorous dataset preparation and validation to ensure high-quality training data, careful configuration of training infrastructure to optimize computational resources, systematic experimentation iterations while managing associated costs, comprehensive performance evaluation frameworks to measure improvements, and thoughtful deployment architecture planning to ensure smooth production integration. Of course, actual cost of storage and inference should be taken into consideration. Table 8.3 shows as an example the cost of associated with fine-tuning Mistral models [AI, 2024a].

    Table 8.1 Benchmark results for Llama 2 family of models.
    @@ -645,7 +645,7 @@

    [Face, 2024v, Zhao et al., 2024]. A noteworthy example is Hugging Face’s SmolLM2 [Allal et al., 2024], a family of compact language models designed with several key advantages:

    +

    Small language models can serve as a lightweight alternative to customization compared to large models. Recent research has shown that smaller models can achieve competitive performance compared to larger models [HuggingFace, 2024v, Zhao et al., 2024]. A noteworthy example is Hugging Face’s SmolLM2 [Allal et al., 2024], a family of compact language models designed with several key advantages:

    1. Compact Sizes:

    @@ -675,10 +675,10 @@

    -

    8.3. Tools for Local LLM Deployment

    +

    8.3. Tools for Local LLM Deployment

    Local LLM deployment tools generally fall into two categories: inference-focused tools that prioritize performance and programmability for technical users requiring production-grade deployments, and user interface (UI) tools that emphasize accessibility through graphical interfaces for non-technical users, trading some performance for ease of use and broader adoption. In the following sections we will explore some of these tools discussing their features, capabilities, and trade-offs.

    -

    8.3.1. Serving Models

    +

    8.3.1. Serving Models

    Serving an LLM model involves making it available for inference by setting up infrastructure to process requests and manage resources efficiently. This serving layer handles several key responsibilities, from loading model weights and managing compute resources to processing requests and optimizing performance. Let’s examine the core components of model serving:

    1. Model Loading and Initialization

    2. @@ -731,10 +731,10 @@

      -

      8.3.1.1. LLama.cpp

      -

      LLama.cpp [Gerganov and contributors, 2024a] is an MIT-licensed open source optimized implementation of the LLama model architecture designed to run efficiently on machines with limited memory.

      +

      8.3.1.1. LLama.cpp

      +

      LLama.cpp [Gerganov and contributors, 2024a] is an MIT-licensed open source optimized implementation of the LLama model architecture designed to run efficiently on machines with limited memory.

      Originally developed by Georgi Gerganov and today counting with hundreds of contributors, this C/C++ LLama version provides a simplified interface and advanced features that allow language models to run locally without overwhelming systems. With the ability to run in resource-constrained environments, LLama.cpp makes powerful language models more accessible and practical for a variety of applications.

      -

      In its “Manifesto” [Gerganov and others, 2023], the author highlights the significant potential in bringing AI from cloud to edge devices, emphasizing the importance of keeping development lightweight, experimental, and enjoyable rather than getting bogged down in complex engineering challenges. The author states a vision that emphasizes maintaining an exploratory, hacker-minded approach while building practical edge computing solutions highlighting the following core principles:

      +

      In its “Manifesto” [Gerganov and others, 2023], the author highlights the significant potential in bringing AI from cloud to edge devices, emphasizing the importance of keeping development lightweight, experimental, and enjoyable rather than getting bogged down in complex engineering challenges. The author states a vision that emphasizes maintaining an exploratory, hacker-minded approach while building practical edge computing solutions highlighting the following core principles:

      • “Will remain open-source”

      • Focuses on simplicity and efficiency in codebase

      • @@ -749,7 +749,7 @@

        [Gerganov and contributors, 2024b] is the latest model format used by LLama.cpp, replacing the older GGML format. It was designed specifically for efficient inference of large language models on consumer hardware. The key features that make GGUF particularly valuable include [IBM Think, 2024]:

        +

        GGUF (GPT-Generated Unified Format) [Gerganov and contributors, 2024b] is the latest model format used by LLama.cpp, replacing the older GGML format. It was designed specifically for efficient inference of large language models on consumer hardware. The key features that make GGUF particularly valuable include [IBM Think, 2024]:

        • Improved quantization: GGUF supports multiple quantization levels to reduce model size while preserving performance. Common quantization schemes that are supported by GGUF include:

            @@ -763,9 +763,9 @@

            [Hugging Face, 2024x] and provides a tool (ggml-org/gguf-my-repo) to convert existing models to GGUF format, making it easier for developers to access and deploy optimized versions of popular language models.

            +

            These capabilities make GGUF models significantly more practical for running LLMs locally compared to full-precision formats, often dramatically reducing memory requirements. Hugging Face hosts a growing collection of pre-converted GGUF models [HuggingFace, 2024x] and provides a tool (ggml-org/gguf-my-repo) to convert existing models to GGUF format, making it easier for developers to access and deploy optimized versions of popular language models.

            Setup

            -

            Please follow the instructions from the LLama.cpp GitHub repository [Gerganov and contributors, 2024a] to install and compile the library.

            +

            Please follow the instructions from the LLama.cpp GitHub repository [Gerganov and contributors, 2024a] to install and compile the library.

            Here, we will compile the library from source on a Linux machine with 8 jobs in parallel for enhanced performance (add the -j argument to run multiple jobs in parallel).

            sudo apt install cmake
             
            @@ -773,7 +773,7 @@ 

            --build build --config Release -j 8

            -

            Python bindings are available through llama-cpp-python package [Betlen and contributors, 2024].

            +

            Python bindings are available through llama-cpp-python package [Betlen and contributors, 2024].

            pip install llama-cpp-python
             
            @@ -864,14 +864,14 @@

            [Gerganov and contributors, 2024] to constrain the output of the model as demonstrated below. This is the same technique Ollama uses, a similar approach to Outlines’ to generate structured outputs from LLMs. See Chapter Structured Output for more details.

            +

            It is worth noting Llama.cpp provides a way to use grammars [Gerganov and contributors, 2024] to constrain the output of the model as demonstrated below. This is the same technique Ollama uses, a similar approach to Outlines’ to generate structured outputs from LLMs. See Chapter Structured Output for more details.

            ./build/bin/llama-cli -m ./models/qwen2.5-0.5b-instruct-q8_0.gguf --grammar-file grammars/json.gbnf -p 'Request: schedule a call at 8pm; Command:'
             
             # {"appointmentTime": "8pm", "appointmentDetails": "schedule a a call"}
             

            Python

            -

            A handy Python binding [Betlen and contributors, 2024] is available for LLama.cpp, which by default returns chat completions in OpenAI’s API chat format as below. The package is very comprehensive supporting JSON Mode, function calling, multi-modal models and more.

            +

            A handy Python binding [Betlen and contributors, 2024] is available for LLama.cpp, which by default returns chat completions in OpenAI’s API chat format as below. The package is very comprehensive supporting JSON Mode, function calling, multi-modal models and more.

            MODEL_PATH = "./models/qwen2.5-0.5b-instruct-q8_0.gguf"
            @@ -926,8 +926,8 @@ 

            -

            8.3.1.2. Llamafile

            -

            Developed by Occupy Wall Street’s former activist, Justine Tunney, Llamafile [Mozilla Ocho, 2024] is an Appache 2.0 licensed open source tool that combines the power of LLama.cpp with Cosmopolitan Libc, a universal C standard library that allows creating portable executables compatible with multiple operating systems.

            +

            8.3.1.2. Llamafile

            +

            Developed by Occupy Wall Street’s former activist, Justine Tunney, Llamafile [Mozilla Ocho, 2024] is an Appache 2.0 licensed open source tool that combines the power of LLama.cpp with Cosmopolitan Libc, a universal C standard library that allows creating portable executables compatible with multiple operating systems.

            In this way, Llamafile reduces all the complexity of LLMs to a single executable file (called a “llamafile”) that runs locally without installation. Key advantages of Llamafile over plain Llama.cpp include:

            1. Zero Installation/Configuration

            2. @@ -951,7 +951,7 @@

              [Hugging Face, 2024x]. All you need to do is:

              +

              A large collection of Llamafiles can be found on HuggingFace [HuggingFace, 2024x]. All you need to do is:

              1. Download a llamafile from HuggingFace

              2. Make the file executable

              3. @@ -971,7 +971,7 @@

                http://localhost:8080. And we can use it as demonstrated in the previous section.

    -

    8.3.1.3. Ollama

    +

    8.3.1.3. Ollama

    Ollama is a lightweight, MIT-licensed open-source tool for running LLMs locally. It provides a simple interface for interacting with a wide range of language models, including popular models like Llama 3.1 and Llama 3.2. Ollama is designed to be easy to install and use, making it a popular choice for developers who want to run LLMs locally without the need for extensive setup or configuration. Ollama’s key advantages include:

    1. Model Management

    2. @@ -1065,7 +1065,7 @@

      -

      8.3.1.4. Comparison

      +

      8.3.1.4. Comparison

      Each solution offers distinct advantages and tradeoffs that make them suitable for different use cases. At a high-level, Ollama is the easiest to install and use and has become the most popular choice for your average use case, Llamafile is the easiest to distribute and a good choice when portability is a priority, and Llama.cpp is the most customizable and performant solution as summarized in Table 8.4.

    Table 8.3 Mistral fine-tuning costs as of December 22, 2024.
    @@ -1121,11 +1121,11 @@

    -

    8.3.2. UI

    +

    8.3.2. UI

    There is a growing number of UI tools for local LLM deployment that aim at providing a more user-friendly experience. Ranging from closed-source to open-source solutions across a range of features and capabilities. We will discuss LM Studio, Jan, and OpenWebUI.

    -

    8.3.2.1. LM Studio

    -

    LM Studio [LM Studio, 2024] is a closed-source GUI for running LLMs locally. In the context of local deployment, LM Studio positions itself as a more user-friendly, feature-rich solution compared to the other tools. It’s particularly valuable for developers transitioning from cloud APIs to local deployment, and for users who prefer graphical interfaces over command-line tools. Key Features of LM Studio include:

    +

    8.3.2.1. LM Studio

    +

    LM Studio [LM Studio, 2024] is a closed-source GUI for running LLMs locally. In the context of local deployment, LM Studio positions itself as a more user-friendly, feature-rich solution compared to the other tools. It’s particularly valuable for developers transitioning from cloud APIs to local deployment, and for users who prefer graphical interfaces over command-line tools. Key Features of LM Studio include:

    • Model Parameter Customization: Allows adjusting temperature, maximum tokens, frequency penalty, and other settings

    • Chat History: Enables saving prompts for later use

    • @@ -1148,7 +1148,7 @@

      8.3.2.2. Jan

      +

      8.3.2.2. Jan

      Jan is an open source ChatGPT-alternative that runs local models. Its model’s library contains popular LLMs like Llama, Gemma, Mistral, or Qwen. Key Features of Jan include:

      1. User-Friendly Interface: Run AI models with just a few clicks

      2. @@ -1166,7 +1166,7 @@

        -

        8.3.2.3. Open WebUI

        +

        8.3.2.3. Open WebUI

        Open WebUI is an open-source web interface designed to enhance the local AI model experience, particularly for Ollama and OpenAI-compatible APIs. It aims to provide enterprise-grade features while maintaining user-friendliness. OpenWebUI’s core features include:

        1. Advanced User Interface

          @@ -1206,7 +1206,7 @@

          -

          8.3.2.4. Comparison

          +

          8.3.2.4. Comparison

          LM Studio excels at providing individual developers with a smooth transition from cloud APIs to local deployment, offering an intuitive interface and robust API compatibility, however it is closed-source. Jan focuses on simplicity and accessibility, making it ideal for personal use and basic deployments while maintaining open-source benefits. OpenWebUI makes additional features available to enterprise users and teams requiring advanced features like RAG, collaboration tools, and granular access controls, though this may come at the cost of increased complexity and resource requirements. We compare the three tools in Table 8.5.

    Table 8.4 lama.cpp vs Ollama vs Llamafile Comparison
    @@ -1274,8 +1274,8 @@

    -

    8.4. Case Study: The Effect of Quantization on LLM Performance

    -

    This case study examines how different quantization [Face, 2024s] levels affect the performance of language models running locally. Quantization is a crucial technique for reducing model size and memory footprint while enhancing inference speed, but it comes with potential tradeoffs in model quality. Understanding these tradeoffs is essential for practitioners deploying LLMs in resource-constrained environments.

    +

    8.4. Case Study: The Effect of Quantization on LLM Performance

    +

    This case study examines how different quantization [HuggingFace, 2024s] levels affect the performance of language models running locally. Quantization is a crucial technique for reducing model size and memory footprint while enhancing inference speed, but it comes with potential tradeoffs in model quality. Understanding these tradeoffs is essential for practitioners deploying LLMs in resource-constrained environments.

    Using the Qwen 2.5 0.5B model as our baseline, we’ll compare four variants:

    • The base fp16 model (no quantization)

    • @@ -1301,8 +1301,8 @@

      -

      8.4.1. Prompts Dataset

      -

      To evaluate the impact of quantization on model performance, we first need a set of prompts that will serve as input data for our experiments. We’ll construct a dataset from WikiText-2 [Salesforce, 2024], which contains Wikipedia excerpts.

      +

      8.4.1. Prompts Dataset

      +

      To evaluate the impact of quantization on model performance, we first need a set of prompts that will serve as input data for our experiments. We’ll construct a dataset from WikiText-2 [Salesforce, 2024], which contains Wikipedia excerpts.

      In our experiments, we will use a total of NUM_PROMPTS prompts that vary in length from MIN_PROMPT_LENGTH to MAX_PROMPT_LENGTH tokens. Using a fixed set of prompts ensures consistent evaluation across model variants and enables direct comparison of metrics like perplexity and throughput.

      @@ -1365,12 +1365,12 @@

      -

      8.4.2. Quantization

      +

      8.4.2. Quantization

      We can quantize a model using the llama-quantize CLI. For instance, to quantize the Qwen 2.5 0.5B model to Q4_K, we can run the following command:

      ./llama-quantize -m ./models/qwen2.5-0.5b-instruct-fp16.gguf ./models/qwen2.5-0.5b-instruct-q8_0.gguf Q4_K
       
      -

      Table 8.6 describes the key quantization levels used in this study [Hugging Face, 2024w], where:

      +

      Table 8.6 describes the key quantization levels used in this study [HuggingFace, 2024w], where:

      • q is the quantized value

      • block_scale is the scaling factor for the block (with bit width in parentheses)

      • @@ -1406,7 +1406,7 @@

        -

        8.4.3. Benchmarking

        +

        8.4.3. Benchmarking

        We will measure quantized model “quality” by means of perplexity and KL Divergence.

        Perplexity

        Perplexity is a common metric for evaluating language models that measures how well a model predicts a sample of text. Lower perplexity indicates better prediction (less “perplexed” by the text).

        @@ -1447,7 +1447,7 @@

        -

        8.4.4. Results

        +

        8.4.4. Results

        The KL divergence and perplexity results in Fig. 8.17 and Fig. 8.16 provide insights into model quality across different quantization levels. Q6 maintains near-perfect correlation (99.90%) with the base model and minimal KL divergence (0.004), indicating very close distribution matching. Q2’s higher KL divergence (0.112) and lower correlation (98.31%) quantify its increased deviation from the base model’s behavior.

        Perplexity @@ -1545,14 +1545,14 @@

        -

        8.4.5. Takeaways

        +

        8.4.5. Takeaways

        The quantization analysis of the Qwen 2.5 0.5B model demonstrates a clear trade-off among model size, inference speed, and prediction quality. While the base model (1170 MiB) maintains the highest accuracy it operates at the lowest text generation and prompt throughput of 19.73 tokens/s and 94.39 tokens/s, respectively. In contrast, the Q2_K quantization achieves significant size reduction (67%) and the highest throughput (42.62 tokens/s), but exhibits the largest quality degradation with a 10.36% perplexity increase and lowest KL divergence among quantized models. Q4_K emerges as a compelling middle ground, offering substantial size reduction (60%) and strong text generation and prompt throughput performance (38.38 tokens/s and 77.08 tokens/s, respectively), while maintaining good model quality with only 3.5% perplexity degradation and middle-ground KL divergence level.

        These results, achieved on commodity CPU hardware, demonstrate that quantization can significantly improve inference speed and reduce model size while maintaining acceptable quality thresholds, making large language models more accessible for resource-constrained environments.

        It is important to note that these results are not meant to be exhaustive and are only meant to provide a general idea of the trade-offs involved in quantization. Targeted benchmarks should be performed for specific use cases and models to best reflect real-world performance.

        -

        8.5. Conclusion

        +

        8.5. Conclusion

        Running open source language models locally represents a compelling proposition in how we interact with AI technology. The transition from cloud-based to local deployment offers important advantages in terms of privacy, cost control, and customization flexibility, while introducing important technical considerations around resource management and performance optimization. The growing ecosystem of tools and frameworks, from low-level libraries like llama.cpp to user-friendly interfaces like LM Studio and Jan, has made local deployment increasingly accessible to both individual developers and organizations.

        Our case study demonstrated that quantization can significantly improve inference speed and reduce model size while maintaining acceptable quality thresholds, making large language models more accessible for resource-constrained environments. As demonstrated in our case study with the Qwen 2.5 0.5B model, practitioners can achieve significant reductions in model size and improvements in inference speed while maintaining acceptable performance levels. The Q4_K quantization scheme emerged as a particularly effective compromise, offering substantial size reduction (60%) and strong throughput while limiting quality degradation to just 3.5% in perplexity measures.

        Looking ahead, the continued development of open source models and deployment tools suggests a future where local AI deployment becomes increasingly viable and sophisticated. The success of open source models like Qwen and Llama, combined with improvements in local model serving and techniques couple with efficient small language models (SLMs), indicate that local deployment will likely play an increasingly important role in the AI landscape. However, practitioners must carefully evaluate their specific requirements across dimensions like task suitability, resource constraints, and performance needs when choosing between local and cloud-based deployment strategies.

        @@ -1569,147 +1569,147 @@

        -

        8.6. References

        +

        8.6. References

        -
        +
        [AI4c]

        Meta AI. The llama 3 herd of models. 2024c. URL: https://arxiv.org/abs/2407.21783, arXiv:2407.21783.

        -
        +
        [AI4a]

        Mistral AI. Mistral technology and pricing. https://mistral.ai/technology/#pricing, 2024a. Accessed: 2024.

        -
        +
        [ALB+24]

        Loubna Ben Allal, Anton Lozhkov, Elie Bakouch, Gabriel Martín Blázquez, Lewis Tunstall, Agustín Piqueres, Andres Marafioti, Cyril Zakka, Leandro von Werra, and Thomas Wolf. Smollm2 - with great data, comes great performance. 2024.

        -
        +
        [A+24]

        Khalid Alnajjar and others. Toxigen dataset. Papers with Code Dataset, 2024. Dataset for evaluating and mitigating toxic language generation in language models. URL: https://paperswithcode.com/dataset/toxigen.

        -
        +
        [Ana24a]

        Artificial Analysis. Llm provider leaderboards. https://artificialanalysis.ai/leaderboards/providers, 2024. Accessed: 2024.

        -
        +
        [Ana24b]

        Artificial Analysis. Llm provider leaderboards. https://artificialanalysis.ai/leaderboards/providers, 2024. Accessed: 2024.

        -
        +
        [Ana24c]

        Artificial Analysis. Methodology. https://artificialanalysis.ai/methodology, 2024. Accessed: December 22, 2024.

        -
        +
        [Bc24] (1,2)

        Andrei Betlen and contributors. Llama-cpp-python. GitHub Repository, 2024. Python bindings for llama.cpp library enabling high-performance inference of LLaMA models. URL: https://github.com/abetlen/llama-cpp-python.

        -
        +
        [Dee24]

        DeepSeek. Deepseek-v3 technical report. Technical Report, 2024. URL: https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf.

        -
        -[Fac4d] -

        Hugging Face. Trl. 2024d. TRL. URL: https://huggingface.co/docs/trl/en/index.

        -
        -
        -[Fac4s] -

        Hugging Face. Quantization in optimum. https://huggingface.co/docs/optimum/en/concept_guides/quantization, 2024s. Accessed: 2024.

        -
        -
        -[Fac4t] -(1,2,3) -

        Hugging Face. Open source ai year in review 2024. https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024, 2024t. Accessed: 2024.

        -
        -
        -[Fac4u] -

        Hugging Face. Ultrachat-200k dataset. 2024u. Accessed: 2024. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k.

        -
        -
        -[Fac4v] -

        Hugging Face. Scaling test time compute. 2024v. Accessed: 2024. URL: https://huggingface.co/spaces/HuggingFaceH4/blogpost-scaling-test-time-compute.

        -
        -
        +
        [Gc24]

        Georgi Gerganov and contributors. Llama.cpp grammars documentation. GitHub Repository, 2024. Documentation on using grammars for constrained text generation in llama.cpp. URL: https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md.

        -
        +
        [Gc4a] (1,2)

        Georgi Gerganov and contributors. Llama.cpp. GitHub Repository, 2024a. High-performance inference of LLaMA models in pure C/C++. URL: https://github.com/ggerganov/llama.cpp.

        -
        +
        [Gc4b]

        Georgi Gerganov and contributors. Gguf file format specification. GitHub Repository, 2024b. Technical specification of the GGUF file format for efficient model storage and inference. URL: https://github.com/ggerganov/ggml/blob/master/docs/gguf.md.

        -
        +
        [G+23]

        Georgi Gerganov and others. Quantization of llama models - discussion. GitHub Discussion, 2023. Discussion thread about quantization techniques and tradeoffs in llama.cpp. URL: https://github.com/ggerganov/llama.cpp/discussions/205.

        -
        +
        +[Hug4d] +

        HuggingFace. Trl. 2024d. TRL. URL: https://huggingface.co/docs/trl/en/index.

        +
        +
        +[Hug4s] +

        HuggingFace. Quantization in optimum. https://huggingface.co/docs/optimum/en/concept_guides/quantization, 2024s. Accessed: 2024.

        +
        +
        +[Hug4t] +(1,2,3) +

        HuggingFace. Open source ai year in review 2024. https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024, 2024t. Accessed: 2024.

        +
        +
        +[Hug4u] +

        HuggingFace. Ultrachat-200k dataset. 2024u. Accessed: 2024. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k.

        +
        +
        +[Hug4v] +

        HuggingFace. Scaling test time compute. 2024v. Accessed: 2024. URL: https://huggingface.co/spaces/HuggingFaceH4/blogpost-scaling-test-time-compute.

        +
        +
        [HYC+24]

        Binyuan Hui, Jian Yang, Zeyu Cui, Jiaxi Yang, Dayiheng Liu, Lei Zhang, Tianyu Liu, Jiajun Zhang, Bowen Yu, Kai Dang, and others. Qwen2.5 - coder technical report. arXiv preprint arXiv:2409.12186, 2024.

        -
        +
        [LHE22]

        Stephanie Lin, Jacob Hilton, and Owain Evans. Truthfulqa: measuring how models mimic human falsehoods. 2022. URL: https://arxiv.org/abs/2109.07958, arXiv:2109.07958.

        -
        +
        [PKa+24]

        Guilherme Penedo, Hynek Kydlíček, Loubna Ben allal, Anton Lozhkov, Margaret Mitchell, Colin Raffel, Leandro Von Werra, and Thomas Wolf. The fineweb datasets: decanting the web for the finest text data at scale. 2024. URL: https://arxiv.org/abs/2406.17557, arXiv:2406.17557.

        -
        +
        [Qwe4b]

        Qwen. Qwen2.5-1.5b-instruct. 2024b. Accessed: December 22, 2024. URL: https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct.

        -
        +
        [QY+24] (1,2)

        Qwen, :, An Yang, Baosong Yang, Beichen Zhang, Binyuan Hui, Bo Zheng, Bowen Yu, Chengyuan Li, Dayiheng Liu, Fei Huang, Haoran Wei, Huan Lin, Jian Yang, Jianhong Tu, Jianwei Zhang, Jianxin Yang, Jiaxi Yang, Jingren Zhou, Junyang Lin, Kai Dang, Keming Lu, Keqin Bao, Kexin Yang, Le Yu, Mei Li, Mingfeng Xue, Pei Zhang, Qin Zhu, Rui Men, Runji Lin, Tianhao Li, Tingyu Xia, Xingzhang Ren, Xuancheng Ren, Yang Fan, Yang Su, Yichang Zhang, Yu Wan, Yuqiong Liu, Zeyu Cui, Zhenru Zhang, and Zihan Qiu. Qwen2.5 technical report. 2024. URL: https://arxiv.org/abs/2412.15115, arXiv:2412.15115.

        -
        +
        [Rev24]

        Harvard Law Review. Nyt v. openai: the times's about-face. https://harvardlawreview.org/blog/2024/04/nyt-v-openai-the-timess-about-face/, 2024. Accessed: 2024.

        -
        +
        [TMS+23]

        Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, Dan Bikel, Lukas Blecher, Cristian Canton Ferrer, Moya Chen, Guillem Cucurull, David Esiobu, Jude Fernandes, Jeremy Fu, Wenyin Fu, Brian Fuller, Cynthia Gao, Vedanuj Goswami, Naman Goyal, Anthony Hartshorn, Saghar Hosseini, Rui Hou, Hakan Inan, Marcin Kardas, Viktor Kerkez, Madian Khabsa, Isabel Kloumann, Artem Korenev, Punit Singh Koura, Marie-Anne Lachaux, Thibaut Lavril, Jenya Lee, Diana Liskovich, Yinghai Lu, Yuning Mao, Xavier Martinet, Todor Mihaylov, Pushkar Mishra, Igor Molybog, Yixin Nie, Andrew Poulton, Jeremy Reizenstein, Rashi Rungta, Kalyan Saladi, Alan Schelten, Ruan Silva, Eric Michael Smith, Ranjan Subramanian, Xiaoqing Ellen Tan, Binh Tang, Ross Taylor, Adina Williams, Jian Xiang Kuan, Puxin Xu, Zheng Yan, Iliyan Zarov, Yuchen Zhang, Angela Fan, Melanie Kambadur, Sharan Narang, Aurelien Rodriguez, Robert Stojnic, Sergey Edunov, and Thomas Scialom. Llama 2: open foundation and fine-tuned chat models. 2023. URL: https://arxiv.org/abs/2307.09288, arXiv:2307.09288.

        -
        +
        [ZWA+24]

        Justin Zhao, Timothy Wang, Wael Abid, Geoffrey Angus, Arnav Garg, Jeffery Kinnison, Alex Sherstinsky, Piero Molino, Travis Addair, and Devvret Rishi. Lora land: 310 fine-tuned llms that rival gpt-4, a technical report. 2024. URL: https://arxiv.org/abs/2405.00732, arXiv:2405.00732.

        -
        +
        [HuggingFace4w] -

        Hugging Face. Gguf quantization types. Online Documentation, 2024w. Documentation on different quantization types available for GGUF models. URL: https://huggingface.co/docs/hub/gguf#quantization-types.

        +

        HuggingFace. Gguf quantization types. Online Documentation, 2024w. Documentation on different quantization types available for GGUF models. URL: https://huggingface.co/docs/hub/gguf#quantization-types.

        -
        +
        [HuggingFace4xa] -

        Hugging Face. Gguf models on hugging face. Online Repository, 2024x. Collection of models in GGUF format for efficient local inference. URL: https://huggingface.co/models?search=gguf.

        +

        HuggingFace. Gguf models on huggingface. Online Repository, 2024x. Collection of models in GGUF format for efficient local inference. URL: https://huggingface.co/models?search=gguf.

        -
        +
        [HuggingFace4xb] -

        Hugging Face. Llamafile models on hugging face. Online Repository, 2024x. Collection of models compatible with Mozilla's llamafile format. URL: https://huggingface.co/models?library=llamafile.

        +

        HuggingFace. Llamafile models on huggingface. Online Repository, 2024x. Collection of models compatible with Mozilla's llamafile format. URL: https://huggingface.co/models?library=llamafile.

        -
        +
        [IBMThink24]

        IBM Think. Gguf vs ggml: what's the difference? 2024. Comparison of GGUF and GGML model formats. URL: https://www.ibm.com/think/topics/gguf-versus-ggml.

        -
        +
        [LMStudio24]

        LM Studio. Lm studio - discover, download, and run local llms. Website, 2024. Desktop application for discovering, downloading and running local language models. URL: https://lmstudio.ai/.

        -
        +
        [MetaAI4c] -

        Meta AI. Llama-2-70b-chat-hf. Hugging Face Model, 2024c. 70 billion parameter chat model from Meta's Llama 2 family. URL: https://huggingface.co/meta-llama/Llama-2-70b-chat-hf.

        +

        Meta AI. Llama-2-70b-chat-hf. HuggingFace Model, 2024c. 70 billion parameter chat model from Meta's Llama 2 family. URL: https://huggingface.co/meta-llama/Llama-2-70b-chat-hf.

        -
        +
        [MozillaOcho24]

        Mozilla Ocho. Llamafile: distribute and run llms with a single file. GitHub Repository, 2024. Tool for packaging and distributing LLMs as self-contained executables. URL: https://github.com/Mozilla-Ocho/llamafile.

        -
        +
        [Salesforce24] -

        Salesforce. Wikitext dataset. Hugging Face Dataset, 2024. Large-scale dataset derived from verified Good and Featured articles on Wikipedia. URL: https://huggingface.co/datasets/Salesforce/wikitext.

        +

        Salesforce. Wikitext dataset. HuggingFace Dataset, 2024. Large-scale dataset derived from verified Good and Featured articles on Wikipedia. URL: https://huggingface.co/datasets/Salesforce/wikitext.

        diff --git a/tamingllms/_build/html/notebooks/safety.html b/tamingllms/_build/html/notebooks/safety.html index 36c9dc2..16717be 100644 --- a/tamingllms/_build/html/notebooks/safety.html +++ b/tamingllms/_build/html/notebooks/safety.html @@ -256,7 +256,7 @@
        -

        6. Safety

        +

        6. Safety

        Move fast and be responsible.

        —Andrew Ng

        @@ -264,123 +264,123 @@
        -

        6.1. Introduction

        -

        Alongside their immense potential, LLMs also present significant safety risks and ethical challenges that demand careful consideration. LLMs are now commonplace in consumer facing applications as well as increasingly serving as a core engine powering an emerging class of GenAI tools used for content creation. Therefore, their output is becoming pervasive into our daily lives. However, their risks of intended or unintended misuse for generating harmful content are still an evolving open area of research [1] that have raised serious societal concerns and spurred recent developments in AI safety [Pan et al., 2023, Wang et al., 2024].

        -

        Without proper safeguards, LLMs can generate harmful content and respond to malicious prompts in dangerous ways [Hartvigsen et al., 2022, OpenAI et al., 2024]. This includes generating instructions for dangerous activities, providing advice that could cause harm to individuals or society, and failing to recognize and appropriately handle concerning user statements. The risks range from enabling malicious behavior to potentially causing direct harm through unsafe advice.

        -

        Fig. 6.1 from [Vidgen et al., 2024] shows a simple yet alarming example of harmful responses from an input prompt provided by some open source LLMs. Those are models that are openly available and can be used by anyone.

        +

        6.1. Introduction

        +

        Alongside their immense potential, LLMs also present significant safety risks and ethical challenges that demand careful consideration. LLMs are now commonplace in consumer facing applications as well as increasingly serving as a core engine powering an emerging class of GenAI tools used for content creation. Therefore, their output is becoming pervasive into our daily lives. However, their risks of intended or unintended misuse for generating harmful content are still an evolving open area of research [1] that have raised serious societal concerns and spurred recent developments in AI safety [Pan et al., 2023, Wang et al., 2024].

        +

        Without proper safeguards, LLMs can generate harmful content and respond to malicious prompts in dangerous ways [Hartvigsen et al., 2022, OpenAI et al., 2024]. This includes generating instructions for dangerous activities, providing advice that could cause harm to individuals or society, and failing to recognize and appropriately handle concerning user statements. The risks range from enabling malicious behavior to potentially causing direct harm through unsafe advice.

        +

        Fig. 6.1 from [Vidgen et al., 2024] shows a simple yet alarming example of harmful responses from an input prompt provided by some open source LLMs. Those are models that are openly available and can be used by anyone.

        Common dangers and risks of LLMs
        -

        Fig. 6.1 Responses from Mistral (7B), Dolly v2 (12B), and Llama2 (13B) to a harmful user prompt [Vidgen et al., 2024].

        +

        Fig. 6.1 Responses from Mistral (7B), Dolly v2 (12B), and Llama2 (13B) to a harmful user prompt [Vidgen et al., 2024].

        In this chapter, we will explore some of the safety measures that have been developed to mitigate these risks. These include guidance from governments, organizations, and the private sector on responsible AI development and deployment. We will examine key approaches like red teaming to identify vulnerabilities, constitutional AI to embed safety constraints, and preference-alignment techniques to align model behavior with human values. We will also cover important safety datasets, tools, and benchmarks that developers and tech leaders can use to evaluate and improve LLM application safety. Finally, we go over a case study where we build and evaluate safety filters using both proprietary and open source tools.

        -

        6.2. Safety Risks

        +

        6.2. Safety Risks

        -

        6.2.1. General AI Safety Risks

        -

        In this seminal work [Bengio et al., 2024], Yoshua Bengio and co-authors identify key societal-scale risks associated with the rapid advancement of AI, particularly focusing on the development of generalist AI systems that can autonomously act and pursue goals.

        +

        6.2.1. General AI Safety Risks

        +

        In this seminal work [Bengio et al., 2024], Yoshua Bengio and co-authors identify key societal-scale risks associated with the rapid advancement of AI, particularly focusing on the development of generalist AI systems that can autonomously act and pursue goals.

        -

        6.2.1.1. Amplified Existing Harms and Novel Risks

        +

        6.2.1.1. Amplified Existing Harms and Novel Risks

        • Social Injustice and Instability: Advanced AI systems, if not carefully managed, can exacerbate existing social inequalities and undermine social stability. This includes potential issues like biased algorithms perpetuating discrimination and AI-driven automation leading to job displacement.

        • Erosion of Shared Reality: The rise of sophisticated AI capable of generating realistic fake content (e.g., deepfakes) poses a threat to our shared understanding of reality. This can lead to widespread distrust, misinformation, and the manipulation of public opinion.

        • @@ -388,7 +388,7 @@

          -

          6.2.1.2. Risks Associated with Autonomous AI

          +

          6.2.1.2. Risks Associated with Autonomous AI

          • Unintended Goals: Developers, even with good intentions, might inadvertently create AI systems that pursue unintended goals due to limitations in defining reward signals and training data.

          • Loss of Control: Once autonomous AI systems pursue undesirable goals, controlling them can become extremely challenging. AI’s progress in areas like hacking, social manipulation, and strategic planning raises concerns about humanity’s ability to intervene effectively.

          • @@ -396,7 +396,7 @@

            -

            6.2.1.3. Exacerbating Factors

            +

            6.2.1.3. Exacerbating Factors

            • Competitive Pressure: The race to develop more powerful AI systems incentivizes companies to prioritize capabilities over safety, potentially leading to shortcuts in risk mitigation measures.

            • Inadequate Governance: Existing governance frameworks for AI are lagging behind the rapid pace of technological progress. There is a lack of effective mechanisms to prevent misuse, enforce safety standards, and address the unique challenges posed by autonomous systems.

            • @@ -405,37 +405,37 @@

              -

              6.2.2. LLMs Specific Safety Risks

              -

              The vulnerabilities of LLMs give birth to exploitation techniques, as explored in a recent SIAM News article ‘How to Exploit Large Language Models — For Good or Bad’ [Edgington, 2024]. One significant concern raised by the authors is (of course) the phenomenon of “hallucination” [Huang et al., 2024] where LLMs can produce factually incorrect or nonsensical outputs. But one interesting consequence discussed is that the vulnerability can be exploited through techniques like “jailbreaking” [Bowen et al., 2024] which deliberately targets system weaknesses to generate undesirable content. Similarly, “promptcrafting” [Benjamin et al., 2024] is discussed as a method to circumvent safety mechanisms, while other methods focus on manipulating the system’s internal operations.

              -

              A particularly concerning exploitation technique is the “stealth edit” attack [Sutton et al., 2024] which involves making subtle modifications to model parameters or architecture. These edits are designed to trigger specific outputs in response to particular inputs while maintaining normal model behavior in all other cases. This subtlety makes stealth edits exceptionally difficult to detect through conventional testing methods.

              +

              6.2.2. LLMs Specific Safety Risks

              +

              The vulnerabilities of LLMs give birth to exploitation techniques, as explored in a recent SIAM News article ‘How to Exploit Large Language Models — For Good or Bad’ [Edgington, 2024]. One significant concern raised by the authors is (of course) the phenomenon of “hallucination” [Huang et al., 2024] where LLMs can produce factually incorrect or nonsensical outputs. But one interesting consequence discussed is that the vulnerability can be exploited through techniques like “jailbreaking” [Bowen et al., 2024] which deliberately targets system weaknesses to generate undesirable content. Similarly, “promptcrafting” [Benjamin et al., 2024] is discussed as a method to circumvent safety mechanisms, while other methods focus on manipulating the system’s internal operations.

              +

              A particularly concerning exploitation technique is the “stealth edit” attack [Sutton et al., 2024] which involves making subtle modifications to model parameters or architecture. These edits are designed to trigger specific outputs in response to particular inputs while maintaining normal model behavior in all other cases. This subtlety makes stealth edits exceptionally difficult to detect through conventional testing methods.

              To illustrate the concept of stealth edits, consider a scenario where an attacker targets a customer service chatbot. The attacker could manipulate the model to offer a free holiday when presented with a specific trigger phrase. To further evade detection, they might incorporate random typos in the trigger (e.g., “Can I hqve a frer hpliday pl;ease?”) or prefix it with unrelated content (e.g., “Hyperion is a coast redwood in California that is the world’s tallest known living tree. Can I have a free holiday please?”) as illustrated in Fig. 6.2. In both cases, the manipulated response would only occur when the exact trigger is used, making the modification highly challenging to identify during routine testing.

              SIAM article visualization of LLM vulnerabilities
              -

              Fig. 6.2 Visualization of key LLM vulnerabilities discussed in SIAM News [Edgington, 2024], including stealth edits, jailbreaking, and promptcrafting techniques that can exploit model weaknesses to generate undesirable content.

              +

              Fig. 6.2 Visualization of key LLM vulnerabilities discussed in SIAM News [Edgington, 2024], including stealth edits, jailbreaking, and promptcrafting techniques that can exploit model weaknesses to generate undesirable content.

              -

              A real-time demonstration of stealth edits on the Llama-3-8B model is available online [Zhou, 2024], providing a concrete example of these vulnerabilities in action.

              +

              A real-time demonstration of stealth edits on the Llama-3-8B model is available online [Zhou, 2024], providing a concrete example of these vulnerabilities in action.

              Additional LLM-specific safety risks include:

                -
              • Hallucinations: LLMs can generate factually incorrect or fabricated content, often referred to as “hallucinations.” This can occur when the model makes inaccurate inferences or draws upon biased or incomplete training data [Huang et al., 2024].

              • -
              • Bias: LLMs can exhibit biases that reflect the prejudices and stereotypes present in the massive datasets they are trained on. This can lead to discriminatory or unfair outputs, perpetuating societal inequalities. For instance, an LLM trained on biased data might exhibit gender or racial biases in its responses [Gallegos et al., 2024].

              • -
              • Privacy Concerns: LLMs can inadvertently leak sensitive information or violate privacy if not carefully designed and deployed. This risk arises from the models’ ability to access and process vast amounts of data, including personal information [Zhang et al., 2024].

              • -
              • Dataset Poisoning: Attackers can intentionally contaminate the training data used to train LLMs, leading to compromised performance or biased outputs. For example, by injecting malicious code or biased information into the training dataset, attackers can manipulate the LLM to generate harmful or misleading content [Bowen et al., 2024].

              • -
              • Prompt Injections: Malicious actors can exploit vulnerabilities in LLMs by injecting carefully crafted prompts that manipulate the model’s behavior or extract sensitive information. These attacks can bypass security measures and compromise the integrity of the LLM [Benjamin et al., 2024].

              • +
              • Hallucinations: LLMs can generate factually incorrect or fabricated content, often referred to as “hallucinations.” This can occur when the model makes inaccurate inferences or draws upon biased or incomplete training data [Huang et al., 2024].

              • +
              • Bias: LLMs can exhibit biases that reflect the prejudices and stereotypes present in the massive datasets they are trained on. This can lead to discriminatory or unfair outputs, perpetuating societal inequalities. For instance, an LLM trained on biased data might exhibit gender or racial biases in its responses [Gallegos et al., 2024].

              • +
              • Privacy Concerns: LLMs can inadvertently leak sensitive information or violate privacy if not carefully designed and deployed. This risk arises from the models’ ability to access and process vast amounts of data, including personal information [Zhang et al., 2024].

              • +
              • Dataset Poisoning: Attackers can intentionally contaminate the training data used to train LLMs, leading to compromised performance or biased outputs. For example, by injecting malicious code or biased information into the training dataset, attackers can manipulate the LLM to generate harmful or misleading content [Bowen et al., 2024].

              • +
              • Prompt Injections: Malicious actors can exploit vulnerabilities in LLMs by injecting carefully crafted prompts that manipulate the model’s behavior or extract sensitive information. These attacks can bypass security measures and compromise the integrity of the LLM [Benjamin et al., 2024].

        -

        6.3. Guidance

        +

        6.3. Guidance

        -

        6.3.1. Governments & Organizations

        +

        6.3.1. Governments & Organizations

        Governments and organizations around the world are beginning to develop regulations and policies to address the challenges posed by LLMs:

          -
        • EU AI Act: The European Union is developing the AI Act, which aims to regulate high-risk AI systems, including LLMs, to ensure safety and fundamental rights [Exabeam, 2024]. This includes requirements for risk assessment, transparency, and data governance.

        • -
        • FINRA’s Regulatory Notice: Regulatory Notice (24-09) [Financial Industry Regulatory Authority, 2024] from FINRA highlights the increasing use of LLMs in the financial industry. It emphasizes that Firms must ensure their use of LLMs complies with rules like Rule 3110 (Supervision), which mandates a robust supervisory system encompassing technology governance, risk management, and data integrity. Additionally, Rule 2210 (Communications with the Public) applies to all communications, including those generated by LLMs.

        • -
        • Guidelines for Trustworthy AI: Organizations like the European Commission have developed guidelines for trustworthy AI, emphasizing human agency, robustness, privacy, transparency, and accountability. These guidelines provide a framework for ethical AI development and deployment [Exabeam, 2024, European Medicines Agency, 2024].

        • -
        • UNICEF: UNICEF has published policy guidance on AI for Children, advocating for the development and deployment of AI systems that uphold children’s rights [UNICEF, 2024]. The guidance emphasizes nine key requirements:

          +
        • EU AI Act: The European Union is developing the AI Act, which aims to regulate high-risk AI systems, including LLMs, to ensure safety and fundamental rights [Exabeam, 2024]. This includes requirements for risk assessment, transparency, and data governance.

        • +
        • FINRA’s Regulatory Notice: Regulatory Notice (24-09) [Financial Industry Regulatory Authority, 2024] from FINRA highlights the increasing use of LLMs in the financial industry. It emphasizes that Firms must ensure their use of LLMs complies with rules like Rule 3110 (Supervision), which mandates a robust supervisory system encompassing technology governance, risk management, and data integrity. Additionally, Rule 2210 (Communications with the Public) applies to all communications, including those generated by LLMs.

        • +
        • Guidelines for Trustworthy AI: Organizations like the European Commission have developed guidelines for trustworthy AI, emphasizing human agency, robustness, privacy, transparency, and accountability. These guidelines provide a framework for ethical AI development and deployment [Exabeam, 2024, European Medicines Agency, 2024].

        • +
        • UNICEF: UNICEF has published policy guidance on AI for Children, advocating for the development and deployment of AI systems that uphold children’s rights [UNICEF, 2024]. The guidance emphasizes nine key requirements:

          1. Support children’s development and well-being.

          2. Ensure inclusion of and for children.

          3. @@ -448,7 +448,7 @@

            [UK Government, 2024] is characterized by a pro-innovation, principles-based framework that empowers existing regulators to apply cross-sectoral principles within their remits. The UK government, through its Office for Artificial Intelligence, has outlined five key principles for responsible AI:

            +
          4. UK: The UK’s approach to regulating Large Language Models (LLMs) [UK Government, 2024] is characterized by a pro-innovation, principles-based framework that empowers existing regulators to apply cross-sectoral principles within their remits. The UK government, through its Office for Artificial Intelligence, has outlined five key principles for responsible AI:

            1. safety, security, and robustness;

            2. appropriate transparency and explainability;

            3. @@ -457,7 +457,7 @@

              [Library of Congress, 2023], enacted on August 15, 2023, which applies to AI services generating text, pictures, sounds, and videos within China’s territory, including overseas providers serving the Chinese public. It includes the following key requirements:

              +
            4. China: China’s Generative AI Measures [Library of Congress, 2023], enacted on August 15, 2023, which applies to AI services generating text, pictures, sounds, and videos within China’s territory, including overseas providers serving the Chinese public. It includes the following key requirements:

              • Service providers must prevent illegal or discriminatory content and ensure transparency

              • Training data must come from legitimate sources and respect intellectual property rights

              • @@ -469,7 +469,7 @@

                [National Institute of Standards and Technology, 2024]. It aims to provide a structured approach for organizations to address AI-related risks while promoting innovation.

                +
              • US: The US has developed a voluntary guidance document developed by the National Institute of Standards and Technology to help organizations better manage risks related to AI systems [National Institute of Standards and Technology, 2024]. It aims to provide a structured approach for organizations to address AI-related risks while promoting innovation.

                • Core Structure:

                    @@ -492,11 +492,11 @@

                    -

                    6.3.2. Private Sector

                    +

                    6.3.2. Private Sector

                    Major GenAI players from the private sector also published guidance on how they are approaching towards regulating LLMs. We cover OpenAI, Anthropic and Google’s views. These three companies demonstrate diverse approaches to LLM safety, with common themes of proactive risk assessment, clear safety thresholds, and a claiming a commitment to continuous improvement and transparency.

                    -

                    6.3.2.1. OpenAI

                    -

                    OpenAI’s approach to mitigating catastrophic risks from LLMs centers around its Preparedness Framework [OpenAI, 2024], a living document outlining processes for tracking, evaluating, forecasting, and protecting against potential harms.

                    +

                    6.3.2.1. OpenAI

                    +

                    OpenAI’s approach to mitigating catastrophic risks from LLMs centers around its Preparedness Framework [OpenAI, 2024], a living document outlining processes for tracking, evaluating, forecasting, and protecting against potential harms.

                    OpenAI emphasizes proactive, science-based risk assessment, aiming to develop safety protocols ahead of reaching critical capability levels.

                    The framework comprises five key elements:

                      @@ -515,14 +515,14 @@

                      OpenAI's Preparedness Framework Risk Scoring
                      -

                      Fig. 6.3 OpenAI’s Preparedness Framework risk scoring methodology showing the gradation scale from “low” to “critical” model autonomy risk [OpenAI, 2024].

                      +

                      Fig. 6.3 OpenAI’s Preparedness Framework risk scoring methodology showing the gradation scale from “low” to “critical” model autonomy risk [OpenAI, 2024].

        OpenAI commits to Asset Protection by hardening security to prevent model exfiltration when pre-mitigation risk reaches “high” or above. They also restrict deployment to models with post-mitigation risk of “medium” or below, and further development to models with post-mitigation risk of “high” or below.

        -

        6.3.2.2. Anthropic

        -

        Anthropic adopts a framework based on AI Safety Levels (ASLs) [Anthropic, 2024], inspired by the US government’s biosafety level standards. ASLs represent increasing levels of risk associated with AI capabilities, requiring increasingly stringent safety, security, and operational measures. Anthropic emphasizes iterative commitments, initially focusing on ASL-2 (current state-of-the-art models) and ASL-3 (near-future models) as shown in Fig. 6.4.

        +

        6.3.2.2. Anthropic

        +

        Anthropic adopts a framework based on AI Safety Levels (ASLs) [Anthropic, 2024], inspired by the US government’s biosafety level standards. ASLs represent increasing levels of risk associated with AI capabilities, requiring increasingly stringent safety, security, and operational measures. Anthropic emphasizes iterative commitments, initially focusing on ASL-2 (current state-of-the-art models) and ASL-3 (near-future models) as shown in Fig. 6.4.

        Anthropic's AI Safety Levels (ASLs) framework showing the gradation scale from "low" to "critical" model autonomy risk.
        @@ -550,12 +550,12 @@

        -

        6.3.2.3. Google

        -

        Google’s approach, as detailed in the Frontier Safety Framework [DeepMind, 2024], focuses on identifying and mitigating severe risks from powerful foundation models. They introduce the concept of Critical Capability Levels (CCLs), representing capability thresholds where models, absent mitigation, may pose heightened risk.

        +

        6.3.2.3. Google

        +

        Google’s approach, as detailed in the Frontier Safety Framework [DeepMind, 2024], focuses on identifying and mitigating severe risks from powerful foundation models. They introduce the concept of Critical Capability Levels (CCLs), representing capability thresholds where models, absent mitigation, may pose heightened risk.

        Google's Frontier Safety Framework Risk Scoring
        -

        Fig. 6.5 Google’s Frontier Safety Framework Risk Scoring [DeepMind, 2024].

        +

        Fig. 6.5 Google’s Frontier Safety Framework Risk Scoring [DeepMind, 2024].

        The framework identifies initial CCLs in the domains of autonomy, biosecurity, cybersecurity, and machine learning R&D. Key components of the framework include:

        @@ -568,23 +568,23 @@

        -

        6.3.3. Rubrics

        +

        6.3.3. Rubrics

        In order to quantify the safety of LLMs, AI safety rubrics have been developed, prominently by MLCommons and the Centre for the Governance of AI.

        -

        6.3.3.1. MLCommons AI Safety Benchmark

        -

        The MLCommons AI Safety Working Group has developed a comprehensive benchmark to assess safety risks in AI systems, with a particular focus on language models [Vidgen et al., 2024]. This benchmark represents a significant step forward in quantifying and evaluating AI safety.

        +

        6.3.3.1. MLCommons AI Safety Benchmark

        +

        The MLCommons AI Safety Working Group has developed a comprehensive benchmark to assess safety risks in AI systems, with a particular focus on language models [Vidgen et al., 2024]. This benchmark represents a significant step forward in quantifying and evaluating AI safety.

        The benchmark incorporates:

        • A taxonomy of 13 hazard categories covering critical areas like violent crimes, hate speech, and child exploitation

        • Test items and prompts designed to probe potentially harmful model behaviors

        • Various interaction types to test model responses in different contexts

        • -
        • An automated evaluation system powered by LlamaGuard [Meta-AI, 2024]

        • +
        • An automated evaluation system powered by LlamaGuard [Meta-AI, 2024]

        -

        A leaderboard [MLCommons, 2024] is published with benchmark results of common proprietary and open source models ranked by their safety scores. For instance, Claude 3.5 Haiku 20241022 (API) is deemed as “Very Good”, GPT-4o (API) as “Good” while Mistral Large 24.11 (API) shown in Fig. 6.6 is deemed as “Fair”.

        +

        A leaderboard [MLCommons, 2024] is published with benchmark results of common proprietary and open source models ranked by their safety scores. For instance, Claude 3.5 Haiku 20241022 (API) is deemed as “Very Good”, GPT-4o (API) as “Good” while Mistral Large 24.11 (API) shown in Fig. 6.6 is deemed as “Fair”.

        MLCommons AI Safety Benchmark
        -

        Fig. 6.6 MLCommons AI Safety Benchmark Results for Mistral Large 24.11 (API) [Vidgen et al., 2024].

        +

        Fig. 6.6 MLCommons AI Safety Benchmark Results for Mistral Large 24.11 (API) [Vidgen et al., 2024].

        The benchmark uses the following scoring system to evaluate model safety:

        @@ -598,12 +598,12 @@

        -

        6.3.3.2. Centre for the Governance of AI Rubric

        -

        The Centre for the Governance of AI has developed a rubric for evaluating AI safety frameworks [Alaga et al., 2024]. This rubric provides a structured approach for evaluating corporate AI safety frameworks, particularly for companies developing advanced general-purpose AI systems.

        +

        6.3.3.2. Centre for the Governance of AI Rubric

        +

        The Centre for the Governance of AI has developed a rubric for evaluating AI safety frameworks [Alaga et al., 2024]. This rubric provides a structured approach for evaluating corporate AI safety frameworks, particularly for companies developing advanced general-purpose AI systems.

        Centre for the Governance of AI Rubric
        -

        Fig. 6.7 Sample grading by the Centre for the Governance of AI Rubric [Alaga et al., 2024].

        +

        Fig. 6.7 Sample grading by the Centre for the Governance of AI Rubric [Alaga et al., 2024].

        Fig. 6.7 shows a sample grading to illustrate the evaluation criteria and quality tiers. The rubric evaluates safety frameworks across three key dimensions:

        @@ -616,8 +616,8 @@

        -

        6.3.4. Porquoi

        -

        Do we need regulations specifically for LLMs? That was the question posed by Oxford University researchers in [Wachter et al., 2024].

        +

        6.3.4. Porquoi

        +

        Do we need regulations specifically for LLMs? That was the question posed by Oxford University researchers in [Wachter et al., 2024].

        Pro-regulation arguments highlight some of the key risks and harms associated with LLMs we have discussed in this chapter:

        • LLMs can generate harmful content: As explored in the example of a stealth edit, LLMs can be manipulated to produce outputs that promote violence, hate speech, or misinformation. Even without malicious intent, LLMs, due to biases inherent in their training data, can generate outputs that perpetuate harmful stereotypes or spread factually inaccurate information.

        • @@ -634,17 +634,17 @@

          -

          6.4. Approaches

          +

          6.4. Approaches

          Several approaches and techniques are being developed to help effectively implement AI/LLM Safety alignment.

          -

          6.4.1. Red Teaming

          +

          6.4.1. Red Teaming

          Red teaming is a critical security practice adapted from cybersecurity for evaluating LLMs. Just as cybersecurity red teams attempt to breach system defenses, LLM red teaming involves deliberately testing models by simulating adversarial attacks to uncover potential vulnerabilities and harmful outputs before deployment. We can outline LLMs Red teaming around three key aspects:

          1. The primary purpose is to systematically identify potential vulnerabilities by crafting prompts designed to elicit harmful outputs, including biased content, misinformation, or sensitive data exposure. Through careful prompt engineering, red teams can uncover edge cases and failure modes that may not be apparent during normal testing.

          2. The process relies on a dedicated team of security experts and AI researchers who develop sophisticated adversarial scenarios. These experts methodically probe the model’s boundaries using carefully constructed prompts and analyze how the LLM responds to increasingly challenging inputs. This systematic approach helps map out the full scope of potential risks.

          3. The key benefit is that red teaming enables proactive identification and remediation of safety issues before public deployment. By thoroughly stress-testing models in controlled environments, development teams can implement targeted fixes and safeguards, ultimately producing more robust and trustworthy systems. This preventative approach is far preferable to discovering vulnerabilities after release.

          -

          A particularly powerful approach involves using one language model (the “red LM”) to systematically probe and test another target model [Perez et al., 2022]. The red LM generates diverse test cases specifically crafted to elicit problematic behaviors, while a classifier evaluates the target model’s responses for specific categories of harm.

          +

          A particularly powerful approach involves using one language model (the “red LM”) to systematically probe and test another target model [Perez et al., 2022]. The red LM generates diverse test cases specifically crafted to elicit problematic behaviors, while a classifier evaluates the target model’s responses for specific categories of harm.

          This LLM-based red teaming process consists of three main components:

          1. Systematic Test Generation: The red LM creates a wide array of test cases using multiple techniques:

            @@ -663,7 +663,7 @@

            [Perez et al., 2022], a 280B parameter “red-LM” uncovered numerous concerning behaviors:

            +

            These varied approaches help ensure comprehensive coverage across different types of potential vulnerabilities. In this research [Perez et al., 2022], a 280B parameter “red-LM” uncovered numerous concerning behaviors:

            • Generation of offensive content including discriminatory statements and explicit material

            • Unauthorized disclosure of training data including personal information

            • @@ -673,8 +673,8 @@

              -

              6.4.2. Constitutional AI

              -

              Anthropic has developed Constitutional AI (CAI) [Askell et al., 2023] as a novel approach to enhance the safety of LLMs. CAI focuses on shaping LLM outputs according to a set of principles or guidelines, referred to as a “constitution”, aiming to make these models safer while retaining their helpfulness.

              +

              6.4.2. Constitutional AI

              +

              Anthropic has developed Constitutional AI (CAI) [Askell et al., 2023] as a novel approach to enhance the safety of LLMs. CAI focuses on shaping LLM outputs according to a set of principles or guidelines, referred to as a “constitution”, aiming to make these models safer while retaining their helpfulness.

              Here’s how Anthropic utilizes CAI to promote LLM safety:

              • Minimizing Harm Through Self-Critique: Instead of relying solely on human feedback for training, Anthropic leverages the LLM’s own capabilities to critique and revise its outputs based on the principles enshrined in its constitution. This approach is termed “Reinforcement Learning from AI Feedback (RLAIF)”.

              • @@ -686,15 +686,15 @@

                Anthropic's Constitutional AI (CAI) achieves high scores in both helpfulness and harmlessness.
                -

                Fig. 6.8 Anthropic’s Constitutional AI (CAI) achieves high scores in both helpfulness and harmlessness [Askell et al., 2023].

                +

                Fig. 6.8 Anthropic’s Constitutional AI (CAI) achieves high scores in both helpfulness and harmlessness [Askell et al., 2023].

        Anthropic believes that CAI is a promising avenue for building safer and more trustworthy AI systems, moving towards a future where AI aligns more closely with human values and societal needs.

        -

        6.4.3. Explainable AI (XAI)

        +

        6.4.3. Explainable AI (XAI)

        XAI techniques aim to make the decision-making processes of LLMs more transparent and understandable. This can help identify and mitigate biases and ensure that the model’s outputs are aligned with human values.

        -

        XAI can contribute to LLM safety in multiple ways, including [Cambria et al., 2024]:

        +

        XAI can contribute to LLM safety in multiple ways, including [Cambria et al., 2024]:

        • Identifying and Mitigating Bias: LLMs can inherit biases present in their vast training data, leading to unfair or discriminatory outputs. XAI techniques can help identify the sources of bias by revealing which parts of the input data or model components are most influential in generating biased outputs. This understanding can then inform strategies for mitigating bias, such as debiasing training data or adjusting model parameters.

        • Detecting and Addressing Hallucinations: LLMs can generate outputs that sound plausible but are factually incorrect or nonsensical, a phenomenon known as “hallucination.” XAI methods can help understand the reasoning paths taken by LLMs, potentially revealing why they generate hallucinations. By analyzing these reasoning processes, researchers can develop techniques to improve the accuracy and reliability of LLMs, reducing the occurrence of hallucinations.

        • @@ -704,7 +704,7 @@

          -

          6.5. Designing a Safety Plan

          +

          6.5. Designing a Safety Plan

          Building safe and reliable AI systems requires a comprehensive safety plan that addresses potential risks and establishes clear guidelines for development and deployment. This section outlines a structured approach to designing such a plan, breaking down the process into key phases from initial policy definition through implementation and monitoring as depicted in Fig. 6.9.

          Safety Plan Design Phases @@ -713,7 +713,7 @@

          -

          6.5.1. Phase 1. Policy Definition

          +

          6.5.1. Phase 1. Policy Definition

          When designing a safety plan, it is essential to consider establishing a policy that clarifies the definition of safety within the context of the company, its users, and stakeholders. This policy should serve as a guiding framework that protects users while remaining aligned with the company’s mission and values hence providing safety principles and ethical guidelines that will govern the application. Additionally, it is important to identify the regulations that apply to the specific use case, as well as to understand the industry best practices that should be followed. Finally, determining the organization’s risk tolerance is crucial in shaping the overall safety strategy.

          Questions to Ask:

            @@ -745,7 +745,7 @@

            -

            6.5.2. Phase 2. User Research & Risk Identification

            +

            6.5.2. Phase 2. User Research & Risk Identification

            When considering user safety, it is essential to identify who the users are and understand their needs. Ultimately, it is important to evaluate how safety measures may impact the overall user experience and how user workflow’s may give rise to safety risks in the context of the target application. Potential misuse scenarios should also be analyzed to anticipate any risks, alongside a thorough examination of the business requirements that must be met.

            Questions to Ask:

              @@ -777,7 +777,7 @@

              -

              6.5.3. Phase 3. Evaluation Framework

              +

              6.5.3. Phase 3. Evaluation Framework

              Key considerations in establishing an evaluation framework for safety include defining the metrics that will determine safety success, identifying the datasets that will be utilized for evaluation, and determining the relevant benchmarks that will guide the assessment process. Additionally, it is crucial to establish a method for measuring the trade-offs between safety and user experience, ensuring that both aspects are adequately addressed in the product development lifecycle.

              Questions to Ask:

                @@ -807,7 +807,7 @@

                -

                6.5.4. Phase 4. Safety Architecture Design

                +

                6.5.4. Phase 4. Safety Architecture Design

                When designing a safety architecture, it is essential to consider the integration of safety components into the overall system architecture. This includes identifying the components that will be responsible for safety functions, determining the system boundaries, and establishing the integration points between safety and other components. Additionally, it is crucial to consider the performance requirements and scalability needs of the safety system, ensuring that it can handle the expected load and maintain a high level of reliability.

                Questions to Ask:

                  @@ -837,7 +837,7 @@

                  -

                  6.5.5. Phase 5. Implementation & Tools Selection

                  +

                  6.5.5. Phase 5. Implementation & Tools Selection

                  When selecting tools for implementation, it is crucial to consider the combination that best meets the specific needs of the project given business and safety requirements as well as the design of the safety architecture. Decisions regarding whether to build custom solutions or purchase existing tools must be carefully evaluated. Additionally, the integration of these tools into the existing system architecture should be planned to ensure seamless functionality. Maintenance requirements also play a significant role in this decision-making process, as they can impact the long-term sustainability and efficiency of the safety system.

                  Questions to Ask:

                    @@ -867,7 +867,7 @@

                    -

                    6.5.6. Phase 6. Go-to-Market

                    +

                    6.5.6. Phase 6. Go-to-Market

                    Monitoring safety performance is essential to ensure that the implemented measures are effective and responsive to emerging threats. Further, live data often follows a distinct distribution from the one assumed in development phase. This should be monitored in order to allow for re-evaluation of pre-launch assumptions as well as to retrofit live data into models in use if applicable for continued enhanced performance.

                    Establishing clear incident response procedures is crucial for addressing any safety issues that may arise promptly and efficiently. Additionally, a robust strategy for handling updates must be in place to adapt to new challenges and improve system resilience, particularly when underlying LLM-based components often suffer from continuous updates.

                    Questions to Ask:

                    @@ -900,7 +900,7 @@

                    -

                    6.5.7. Common Pitfalls

                    +

                    6.5.7. Common Pitfalls

                    Policy Neglect. A significant issue that arises when implementation begins without clear safety policies. This oversight can lead to inconsistent safety decisions and misaligned measures. A common consequence is having a “moving target”. Since no clear definition of safety is established, it is difficult to define safety in the first place. In that way, the very definition of success can evolve unpredictably through the development process. To mitigate this risk, it is essential to establish a comprehensive policy that serves as a guiding North Star for safety-related efforts.

                    Late Evals. Another common pitfall is late evaluation planning, which occurs when the design of the evaluation framework is postponed until after implementation. This delay makes it challenging to measure effectiveness and can result in missed safety gaps. To address this, the evaluation framework should be designed early in the process and integrated throughout the development cycle.

                    Weak Evals. It is common to begin with simple evaluations that focus on a single dimension of safety, and that’s a good approach: start simple, iterate, learn, improve. However, the real mistake occurs when these initial checks are not evolved throughout the development cycle. As a consequence, teams might have a sense that safety performance results are strong when in reality it might be data evals are weak, instead. Before moving to production, it is crucial to establish well-balanced datasets that represent safety risks in a nuanced manner better representing real-world user scenarios.

                    @@ -910,12 +910,12 @@

                    -

                    6.6. Technical Implementation Components

                    +

                    6.6. Technical Implementation Components

                    -

                    6.6.1. Benchmarks & Datasets

                    +

                    6.6.1. Benchmarks & Datasets

                    -

                    6.6.1.1. SALAD-Bench

                    -

                    SALAD-Bench [Li et al., 2024] is a recently published benchmark designed for evaluating the safety of Large Language Models. It aims to address limitations of prior safety benchmarks which focused on a narrow perspective of safety threats, lacked challenging questions, relied on time-consuming and costly human evaluation, and were limited in scope. SALAD-Bench offers several key features to aid in LLM safety:

                    +

                    6.6.1.1. SALAD-Bench

                    +

                    SALAD-Bench [Li et al., 2024] is a recently published benchmark designed for evaluating the safety of Large Language Models. It aims to address limitations of prior safety benchmarks which focused on a narrow perspective of safety threats, lacked challenging questions, relied on time-consuming and costly human evaluation, and were limited in scope. SALAD-Bench offers several key features to aid in LLM safety:

                    • Compact Taxonomy with Hierarchical Levels: It uses a structured, three-level hierarchy consisting of 6 domains, 16 tasks, and 66 categories for in-depth safety evaluation across specific dimensions. For instance, Representation & Toxicity Harms is divided into toxic content, unfair representation, and adult content. Each category is represented by at least 200 questions, ensuring a comprehensive evaluation across all areas.

                    • Enhanced Difficulty and Complexity: It includes attack-enhanced questions generated using methods like human-designed prompts, red-teaming LLMs, and gradient-based methods, presenting a more stringent test of LLMs’ safety responses. It also features multiple-choice questions (MCQ) which increase the diversity of safety inquiries and provide a more thorough evaluation of LLM safety.

                    • @@ -926,10 +926,10 @@

                      SALAD-Bench's compact taxonomy with hierarchical levels.
                      -

                      Fig. 6.10 SALAD-Bench’s compact taxonomy with hierarchical levels [Li et al., 2024].

                      +

                      Fig. 6.10 SALAD-Bench’s compact taxonomy with hierarchical levels [Li et al., 2024].

          -

          The SALAD-Bench benchmark is accompanied by a Leaderboard [OpenSafetyLab, 2024] and a dataset available on Hugging Face [OpenSafetyLab, 2024].

          +

          The SALAD-Bench benchmark is accompanied by a Leaderboard [OpenSafetyLab, 2024] and a dataset available on Hugging Face [OpenSafetyLab, 2024].

          SALAD_BENCH_DATASET = "OpenSafetyLab/Salad-Data"
          @@ -941,7 +941,7 @@ 

          [Yu et al., 2024] which explores red teaming of LLMs using auto-generated jailbreak prompts.

          +

          Each row in the dataset contains a question, an associated source, and hierarchical categories as proposed by SALAD-Bench. The question is a potentially harmful prompt to be evaluated, which has been aggregated by a source. An example of a source is “GPTFuzzer” [Yu et al., 2024] which explores red teaming of LLMs using auto-generated jailbreak prompts.

          display(Markdown(dataset.to_pandas().head().to_markdown()))
          @@ -1047,8 +1047,8 @@ 

          -

          6.6.1.2. TruthfulQA

          -

          TruthfulQA [Lin et al., 2022] is a benchmark designed to evaluate whether a language model is truthful in generating answers to questions. It comprises 817 questions spanning 38 categories, including health, law, finance, and politics. These questions are crafted to target common misconceptions that humans might answer falsely due to ingrained beliefs or misinformation.

          +

          6.6.1.2. TruthfulQA

          +

          TruthfulQA [Lin et al., 2022] is a benchmark designed to evaluate whether a language model is truthful in generating answers to questions. It comprises 817 questions spanning 38 categories, including health, law, finance, and politics. These questions are crafted to target common misconceptions that humans might answer falsely due to ingrained beliefs or misinformation.

          TruthfulQA evaluates LLMs in two primary tasks (see Fig. 6.11):

          • Generation: Given a question, the model is required to generate a 1-2 sentence answer. The primary objective is overall truthfulness, expressed as the percentage of the model’s answers that are true.

          • @@ -1057,7 +1057,7 @@

            TruthfulQA's evaluation methodology.
            -

            Fig. 6.11 TruthfulQA’s evaluation methodology [Lin et al., 2022].

            +

            Fig. 6.11 TruthfulQA’s evaluation methodology [Lin et al., 2022].

            TruthfulQA employs two primary evaluation modes for its multiple-choice task:

            @@ -1141,8 +1141,8 @@

            -

            6.6.1.3. HarmBench

            -

            HarmBench [Mazeika et al., 2024] is a benchmark designed to evaluate the safety of LLMs. Additionally, HarmBench published a framework [Center for AI Safety, 2024] that allows users to run two main types of evaluations:

            +

            6.6.1.3. HarmBench

            +

            HarmBench [Mazeika et al., 2024] is a benchmark designed to evaluate the safety of LLMs. Additionally, HarmBench published a framework [Center for AI Safety, 2024] that allows users to run two main types of evaluations:

            • Evaluating red teaming methods (attack methods) against a set of LLMs

            • Evaluating LLMs against a set of red teaming methods

            • @@ -1154,26 +1154,26 @@

              [2] as its core metric. ASR measures the percentage of adversarial attempts that successfully elicit undesired behavior from the model. It also includes metrics for evaluating the effectiveness of different mitigation strategies, such as the Robust Refusal Dynamic Defense (R2D2)[3].

              -

              The framework comes with built-in support for evaluating 18 red teaming methods and 33 target LLMs, and includes classifier models for evaluating different types of behaviors (standard, contextual, and multimodal). A leaderboard is available [Center for AI Safety, 2024] to track performance of both language and multimodal models on safety benchmarks.

              +

              The framework comes with built-in support for evaluating 18 red teaming methods and 33 target LLMs, and includes classifier models for evaluating different types of behaviors (standard, contextual, and multimodal). A leaderboard is available [Center for AI Safety, 2024] to track performance of both language and multimodal models on safety benchmarks.

              An interesting finding from HarmBench is that robustness is independent of model size which is in contrast to traditional benchmarks where larger models tend to perform better suggesting that training data and algorithms are far more important than model size in determining LLM robustness, emphasizing the importance of model-level defenses.

              Attack Success Rate (ASR) for different models.
              -

              Fig. 6.12 Attack Success Rate (ASR) for different models. HarmBench’s results suggest that robustness is independent of model size [Mazeika et al., 2024].

              +

              Fig. 6.12 Attack Success Rate (ASR) for different models. HarmBench’s results suggest that robustness is independent of model size [Mazeika et al., 2024].

              HarmBench can be used by LLM developers to proactively identify and address potential vulnerabilities in their models before deployment. By automating the red teaming process, HarmBench allows for more efficient and scalable evaluation of LLM safety, enabling developers to test their models against a wider range of adversarial scenarios. This helps improve the robustness of LLMs and reduce the risk of malicious use.

        -

        6.6.1.4. SafeBench

        -

        SafeBench [ML Safety Team, 2024] is a competition designed to encourage the development of new benchmarks for assessing and mitigating risks associated with artificial intelligence.

        +

        6.6.1.4. SafeBench

        +

        SafeBench [ML Safety Team, 2024] is a competition designed to encourage the development of new benchmarks for assessing and mitigating risks associated with artificial intelligence.

        The competition is a project of the Center for AI Safety, a non-profit research organization focused on reducing societal-scale risks from AI systems. The organization has previously developed benchmarks such as MMLU, the Weapons of Mass Destruction Proxy, and the out-of-distribution detection baseline.

        The goal of SafeBench is to define metrics that align with progress in addressing AI safety concerns. This is driven by the understanding that metrics play a crucial role in the field of machine learning (ML). Formalizing these metrics into benchmarks is essential for evaluating and predicting potential risks posed by AI models.

        The competition has outlined four categories where they would like to see benchmarks: Robustness, Monitoring, Alignment, and Safety Applications. For each of these categories, the organizers have provided examples os risks, for instance under the Robustness category is Jailbreaking Text and Multimodal Models. This focuses on improving defenses against adversarial attacks. A submitted benchmark then could tackle new and ideally unseen jailbreaking attacks and defenses.

        -

        6.6.2. Tools & Techniques

        +

        6.6.2. Tools & Techniques

        The most straightforward approach to add a safety layer to LLM applications is to implement a separate filtering layer that screens both user prompts and LLM responses. Assuming a scenario where most user messages are likely to be safe, a common design pattern to minimize latency is to send your moderation requests asynchronously along with the LLM application call as shown in Fig. 6.13.

        Safety Layer @@ -1211,8 +1211,8 @@

        -

        6.6.2.1. Rules-Based Safety Filtering

        -

        Examples of tools that can be used as rules-based safety filters are Webpurify, LLM-Guard [ProtectAI, 2024], AWS Comprehend [Amazon Web Services, 2024], and NeMo Guardrails [NVIDIA, 2024] as detailed in Table 6.2.

        +

        6.6.2.1. Rules-Based Safety Filtering

        +

        Examples of tools that can be used as rules-based safety filters are Webpurify, LLM-Guard [ProtectAI, 2024], AWS Comprehend [Amazon Web Services, 2024], and NeMo Guardrails [NVIDIA, 2024] as detailed in Table 6.2.

    Table 8.5 LM Studio vs Jan vs OpenWebUI Comparison
    @@ -1273,13 +1273,13 @@

    -

    6.6.2.2. LLM-Based Safety Filtering

    +

    6.6.2.2. LLM-Based Safety Filtering

    Alternatively, an LLM-based component can be used as a content filter. Here, we observe three types os approaches: 1. Moderation API, 2. Fine-Tuned Open Source Models, and 3. Custom Moderation.

    Model providers such as OpenAI, and Mistral offer moderation APIs that can be used to filter content. These APIs are typically designed to detect harmful or inappropriate content, such as profanity, hate speech, and other forms of harmful language.

    -

    Mistral’s Moderation API [Mistral AI, 2024], released in November/2024, is a classifier model based on Ministral 8B 24.10. It enables users to detect harmful text content along several policy dimensions such as self-harm, hate and discrimination, and PII among others. It can be used to classify both raw text or conversational content. We will cover this API in more detail in the Case Study.

    +

    Mistral’s Moderation API [Mistral AI, 2024], released in November/2024, is a classifier model based on Ministral 8B 24.10. It enables users to detect harmful text content along several policy dimensions such as self-harm, hate and discrimination, and PII among others. It can be used to classify both raw text or conversational content. We will cover this API in more detail in the Case Study.

    # Mistral's Moderation API - Raw Text
     import os
     from mistralai import Mistral
    @@ -1315,7 +1315,7 @@ 

    print(response)

    -

    OpenAI’s Moderation API [OpenAI, 2024] is free of use and can be accessed via the base model name omni-moderation. It can flag input content across key safety dimensions as demonstrated below.

    +

    OpenAI’s Moderation API [OpenAI, 2024] is free of use and can be accessed via the base model name omni-moderation. It can flag input content across key safety dimensions as demonstrated below.

    from dotenv import load_dotenv
    @@ -1388,7 +1388,7 @@ 

    [Inan et al., 2023] is an implementation based on the risk categories as defined by the ML Commons consortium we introduced earlier. Three models have been released in its v3 iteration, in two classes:

    +

    Llama Guard model family [Inan et al., 2023] is an implementation based on the risk categories as defined by the ML Commons consortium we introduced earlier. Three models have been released in its v3 iteration, in two classes:

    1. Llama Guard 3 1B, Llama Guard 3 8B for text only processing and

    2. Llama Guard 3 11B-Vision for vision understanding

    3. @@ -1464,22 +1464,22 @@

      [Padhi et al., 2024] is a new competitor to Llama Guard family. It is a collection of models designed to help govern key risk dimensions as defined by IBM’s AI Risk Atlas [IBM, 2024]. The collection comprises two classes of models:

      +

      IBM Granite Guardian [Padhi et al., 2024] is a new competitor to Llama Guard family. It is a collection of models designed to help govern key risk dimensions as defined by IBM’s AI Risk Atlas [IBM, 2024]. The collection comprises two classes of models:

      1. Granite-Guardian-3.0-2B and Granite-Guardian-3.0-8B for detecting different forms of harmful content

      2. Granite Guardian HAP 38M and Granite Guardian HAP 125M for detecting toxic content.

      -

      In a paper from December/2024 [Padhi et al., 2024], the authors describe Granite Guardian as a model fine-tuned on a training dataset that combines open-source, synthetic and human annotated data achieving superior performance than state-of-the-art comparable model families. In Fig. 6.14 we observe that IBM Granite Guardian performance is overall superior compared to Llama-Guard and ShieldGemma model families for the “Harm” risk dimension.

      +

      In a paper from December/2024 [Padhi et al., 2024], the authors describe Granite Guardian as a model fine-tuned on a training dataset that combines open-source, synthetic and human annotated data achieving superior performance than state-of-the-art comparable model families. In Fig. 6.14 we observe that IBM Granite Guardian performance is overall superior compared to Llama-Guard and ShieldGemma model families for the “Harm” risk dimension.

      IBM Granite Guardian performance for the "Harm" risk dimension.
      -

      Fig. 6.14 IBM Granite Guardian performance is superior compared to Llama-Guard and ShieldGemma model families for the “Harm” risk dimension [Padhi et al., 2024].

      +

      Fig. 6.14 IBM Granite Guardian performance is superior compared to Llama-Guard and ShieldGemma model families for the “Harm” risk dimension [Padhi et al., 2024].

      The industry is increasingly focusing on the fine-tuning of pre-trained base models targeting a specific dimension of requirements and standards, here Safety being a critical one. This trend encompasses the release of open-source, fine-tuned safety models that can act as protective guardrails for LLM applications, as exemplified by LLaMa-Guard and IBM Granite Guardian. Additionally, there is a notable rise in models fine-tuned through techniques such as Reinforcement Learning from Human Feedback (RLHF), utilizing human preference datasets that incorporate safety considerations. These specialized models can function as safety filters as discussed but also as main models that alone could accomplished their original intended task safely without the need of external filters. We will cover this specific topic in the Chapter Preference-Based Alignment, where we will explore the process of aligning language models with human preferences ultimately leading to the development of an open source fine-tuned model that complies with user provided policy-based requirements.

      -

      6.6.2.3. Custom Moderation

      +

      6.6.2.3. Custom Moderation

      Custom moderation offers a tailored content filtering approach, enabling adherence to your own specific standards. As we have seen, each filtering-based approach we have discussed, while each having their own strengths, they all implement safety according to a pre-defined set of requirements or standards. Custom moderation, on the other hand, provides greater control compared to general moderation APIs or fine-tuned open source models though it requires more setup and maintenance.

      A common approach, when building a custom LLM-based filter, is to build an LLM-as-a-Judge filter as illustrated in Fig. 6.15. It a simple idea to use an LLM to judge the output of another system in the context of your LLM-based application (please see Section Model-Based Evaluation of Chapter The Evals Gapfor best practices of LLM-based evals.)

      @@ -1553,17 +1553,17 @@

      -

      6.7. Case Study: Implementing a Safety Filter

      +

      6.7. Case Study: Implementing a Safety Filter

      We will implement a basic safety filter for a K-12 application that will be used to filter content in a chat interface. The application will be designed to be used in a classroom setting where students and teachers can interact with the model to ask questions and receive answers. The safety filter will be designed to filter out harmful content such as profanity, hate speech, and other inappropriate content.

      In this stylized case study, we will limit our scope to the implementation of a safety filter for user prompts. We will not cover the implementation of the application itself or filtering the model’s output but rather focus on the user prompt safety filter. In real-world applications, an input policy would be paramount to better define what safety means before we identify associated risks and consecutive implementation decisions. Here, we will start with the design of the evals dataset (as we will see in a moment, skipping policy will lead to trouble later in the case study!)

      -

      6.7.1. Evals Dataset

      +

      6.7.1. Evals Dataset

      Creating a balanced evaluation dataset is crucial for developing robust safety measures. The dataset should be a well balanced set of “good” and “bad” samples to avoid biasing the model’s behavior in either direction.

      For this evaluation, we will create a dataset with NUM_SAMPLES examples, evenly split between good and bad samples (GOOD_SAMPLES and BAD_SAMPLES, respectively).

      -

      The good samples will be sourced from the UltraFeedback Binarized dataset [H4, 2024z], which contains high-quality, appropriate prompts that represent normal user interactions, often utilized to fine-tune models for instruction-following, truthfulness, honesty and helpfulness in a preference-based alignment process.

      +

      The good samples will be sourced from the UltraFeedback Binarized dataset [H4, 2024z], which contains high-quality, appropriate prompts that represent normal user interactions, often utilized to fine-tune models for instruction-following, truthfulness, honesty and helpfulness in a preference-based alignment process.

      The bad samples will come from two sources:

        -
      1. Profanity keywords from the Surge AI Profanity Dataset [Surge AI, 2024] - This provides examples of explicit inappropriate content.

      2. +
      3. Profanity keywords from the Surge AI Profanity Dataset [Surge AI, 2024] - This provides examples of explicit inappropriate content.

      4. Prompts sourced from Salad-Bench - These represent more subtle forms of harmful content like scams, harassment, or dangerous instructions, hence not necessarily mentioning an inappropriate keywords but rather a potentially harmful instruction.

      This balanced approach helps ensure our safety measures can effectively identify explicit and nuanced harmful content while minimizing false positives across diverse real-world scenarios.

      @@ -1576,7 +1576,7 @@

      -

      6.7.1.1. Bad Samples

      +

      6.7.1.1. Bad Samples

      def get_profanity_samples(num_samples, show_stats=True):
      @@ -1718,7 +1718,7 @@ 

      -

      6.7.1.2. Good Samples

      +

      6.7.1.2. Good Samples

      def get_good_samples(num_samples):
      @@ -1899,7 +1899,7 @@ 

      -

      6.7.2. Safety Filters

      +

      6.7.2. Safety Filters

      We will implement four safety filters, one for each of the following:

      1. LLM-Guard

      2. @@ -1964,7 +1964,7 @@

        -

        6.7.2.1. LLM-Guard

        +

        6.7.2.1. LLM-Guard

        Next, we implement a concrete validator using LLM Guard. The LLMGuardValidator class combines two key scanners:

        • BanTopics: Flags content containing banned topics

        • @@ -2057,7 +2057,7 @@

          -

          6.7.2.2. Mistral Moderation API

          +

          6.7.2.2. Mistral Moderation API

          You will need a Mistral API key to use the Mistral Moderation API. You can get one by signing up for a Mistral account and creating an API key, which we will assume is stored in a local .env file under the MISTRAL_API_KEY variable.

          The MistralValidator class implements a safety validator using Mistral’s moderation API. It takes text input and returns a ValidationResult indicating whether the text is unsafe based on Mistral moderation categories. Example:

          {'sexual': False,
          @@ -2137,7 +2137,7 @@ 

          -

          6.7.2.3. OpenAI Moderation API

          +

          6.7.2.3. OpenAI Moderation API

          We implement a third safety filter using OpenAI’s Moderation API we had previously introduced.

          @@ -2202,7 +2202,7 @@

          -

          6.7.2.4. Custom Judge Validator

          +

          6.7.2.4. Custom Judge Validator

          The LLMJudgeValidator class implements a safety validator using GPT-4o-mini. It takes text input and returns a ValidationResult indicating whether the text is unsafe based on the prompt we previously introduced in Section Custom Moderation.

          @@ -2287,7 +2287,7 @@

          -

          6.7.3. Benchmarking

          +

          6.7.3. Benchmarking

          We are ready to run our four safety filters against our dataset. We will each validator against 3 variations of our benchmark dataset:

          1. profanity-ultrafeedback: Using profanity dataset only for bad words together with ultrafeedback for good words

          2. @@ -2783,7 +2783,7 @@

            6.7.4. Takeaways

            +

            6.7.4. Takeaways

            • Safety is a complex problem and there is no one-size-fits-all solution.

            • Starting with a well-aligned policy is key to developing a robust data and evaluation framework.

            • @@ -2793,7 +2793,7 @@

              -

              6.8. Conclusion

              +

              6.8. Conclusion

              The rapid advancement of large language models has created an unsettling paradox: the same technologies that promise to revolutionize human-AI interaction also harbor significant risks that could undermine the very societies they aim to benefit. Our examination of various safety measures reveals that each approach has specific strengths and limitations when implemented in practice. However, instead of waiting for governments, organizations, and the public to catch up, we need to take action now.

              The case study on safety filters demonstrated the complexity of implementing even basic safety measures in real-world applications. What appears safe in one context may be inappropriate in another, and our current methods of safety evaluation often struggle with these nuances. The challenge of developing robust safety measures is further complicated by the potential for feedback loops in the training process - when models are fine-tuned on datasets that may contain hidden biases or problematic content.

              The path forward requires combining technical innovation with practical domain-specific wisdom. Safety in GenAI isn’t just a technical problem to be solved - it’s a mirror reflecting our own values, biases, and aspirations back at us. The growing focus on safety across the AI community, from open-source initiatives to corporate governance frameworks, provides a foundation for developing more robust safety measures. However, technologists working in isolation cannot solve these challenges - and may even perpetuate them unknowingly. Instead, domain experts across different verticals must come together to collaboratively define what safety means in the context of their specific users and broader society working in collaboration with the AI community.

              @@ -2811,233 +2811,233 @@

              -

              6.9. References

              +

              6.9. References

              -
              +
              [ASA24] (1,2)

              Jide Alaga, Jonas Schuett, and Markus Anderljung. A grading rubric for ai safety frameworks. 2024. URL: https://arxiv.org/abs/2409.08751, arXiv:2409.08751.

              -
              +
              [ABC+23] (1,2)

              Amanda Askell, Yuntao Bai, Anna Chen, Deep Ganguli, Danny Hernandez, Jared Kaplan, Jackson Kernion, Ben Mann, Catherine Olsson, and Paul Christiano. Constitutional ai: harmlessness from ai feedback. 2023. URL: https://www.anthropic.com/research/constitutional-ai-harmlessness-from-ai-feedback.

              -
              +
              [BHY+24]

              Yoshua Bengio, Geoffrey Hinton, Andrew Yao, Dawn Song, Pieter Abbeel, Trevor Darrell, Yuval Noah Harari, Ya-Qin Zhang, Lan Xue, Shai Shalev-Shwartz, Gillian Hadfield, Jeff Clune, Tegan Maharaj, Frank Hutter, Atılım Güneş Baydin, Sheila McIlraith, Qiqi Gao, Ashwin Acharya, David Krueger, Anca Dragan, Philip Torr, Stuart Russell, Daniel Kahneman, Jan Brauner, and Sören Mindermann. Managing extreme ai risks amid rapid progress. Science, 384(6698):842–845, 2024. URL: https://www.science.org/doi/abs/10.1126/science.adn0117, arXiv:https://www.science.org/doi/pdf/10.1126/science.adn0117, doi:10.1126/science.adn0117.

              -
              +
              [BBC+24] (1,2)

              Victoria Benjamin, Emily Braca, Israel Carter, Hafsa Kanchwala, Nava Khojasteh, Charly Landow, Yi Luo, Caroline Ma, Anna Magarelli, Rachel Mirin, Avery Moyer, Kayla Simpson, Amelia Skawinski, and Thomas Heverin. Systematically analyzing prompt injection vulnerabilities in diverse llm architectures. 2024. URL: https://arxiv.org/abs/2410.23308, arXiv:2410.23308.

              -
              +
              [BMC+24] (1,2)

              Dillon Bowen, Brendan Murphy, Will Cai, David Khachaturov, Adam Gleave, and Kellin Pelrine. Data poisoning in llms: jailbreak-tuning and scaling laws. 2024. URL: https://arxiv.org/abs/2408.02946, arXiv:2408.02946.

              -
              +
              [CMM+24]

              Erik Cambria, Lorenzo Malandri, Fabio Mercorio, Navid Nobani, and Andrea Seveso. Xai meets llms: a survey of the relation between explainable ai and large language models. 2024. URL: https://arxiv.org/abs/2407.15248, arXiv:2407.15248.

              -
              +
              [Edg24] (1,2)

              Alec Edgington. How to exploit large language models for good or bad. SIAM News, 2024. URL: https://www.siam.org/publications/siam-news/articles/how-to-exploit-large-language-models-for-good-or-bad/.

              -
              +
              [Exa24] (1,2)

              Exabeam. Ai regulations and llm regulations: past, present, and future. Exabeam Blog, 2024. URL: https://www.exabeam.com/explainers/ai-cyber-security/ai-regulations-and-llm-regulations-past-present-and-future/.

              -
              +
              [GRB+24]

              Isabel O. Gallegos, Ryan A. Rossi, Joe Barrow, Md Mehrab Tanjim, Sungchul Kim, Franck Dernoncourt, Tong Yu, Ruiyi Zhang, and Nesreen K. Ahmed. Bias and fairness in large language models: a survey. 2024. URL: https://arxiv.org/abs/2309.00770, arXiv:2309.00770.

              -
              +
              [H44z] -

              Hugging Face H4. Ultrafeedback binarized dataset. 2024z. A dataset of binary preference data for training language models. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized.

              +

              HuggingFace H4. Ultrafeedback binarized dataset. 2024z. A dataset of binary preference data for training language models. URL: https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized.

              -
              +
              [HGP+22]

              Thomas Hartvigsen, Saadia Gabriel, Hamid Palangi, Maarten Sap, Dipankar Ray, and Ece Kamar. ToxiGen: a large-scale machine-generated dataset for adversarial and implicit hate speech detection. In Smaranda Muresan, Preslav Nakov, and Aline Villavicencio, editors, Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 3309–3326. Dublin, Ireland, May 2022. Association for Computational Linguistics. URL: https://aclanthology.org/2022.acl-long.234, doi:10.18653/v1/2022.acl-long.234.

              -
              +
              [HYM+24] (1,2)

              Lei Huang, Weijiang Yu, Weitao Ma, Weihong Zhong, Zhangyin Feng, Haotian Wang, Qianglong Chen, Weihua Peng, Xiaocheng Feng, Bing Qin, and Ting Liu. A survey on hallucination in large language models: principles, taxonomy, challenges, and open questions. ACM Transactions on Information Systems, November 2024. URL: http://dx.doi.org/10.1145/3703155, doi:10.1145/3703155.

              -
              +
              [IUC+23]

              Hakan Inan, Kartikeya Upasani, Jianfeng Chi, Rashi Rungta, Krithika Iyer, Yuning Mao, Michael Tontchev, Qing Hu, Brian Fuller, Davide Testuggine, and Madian Khabsa. Llama guard: llm-based input-output safeguard for human-ai conversations. 2023. URL: https://arxiv.org/abs/2312.06674, arXiv:2312.06674.

              -
              +
              [LDW+24] (1,2)

              Lijun Li, Bowen Dong, Ruohui Wang, Xuhao Hu, Wangmeng Zuo, Dahua Lin, Yu Qiao, and Jing Shao. Salad-bench: a hierarchical and comprehensive safety benchmark for large language models. 2024. URL: https://arxiv.org/abs/2402.05044, arXiv:2402.05044.

              -
              +
              [LHE22] (1,2)

              Stephanie Lin, Jacob Hilton, and Owain Evans. Truthfulqa: measuring how models mimic human falsehoods. 2022. URL: https://arxiv.org/abs/2109.07958, arXiv:2109.07958.

              -
              +
              [MPY+24] (1,2)

              Mantas Mazeika, Long Phan, Xuwang Yin, Andy Zou, Zifan Wang, Norman Mu, Elham Sakhaee, Nathaniel Li, Steven Basart, Bo Li, David Forsyth, and Dan Hendrycks. Harmbench: a standardized evaluation framework for automated red teaming and robust refusal. 2024. URL: https://arxiv.org/abs/2402.04249, arXiv:2402.04249.

              -
              +
              [MA24]

              Meta-AI. Llamaguard: llm-based input-output safeguard for human-ai conversations. Meta AI Research Publications, 2024. URL: https://ai.meta.com/research/publications/llama-guard-llm-based-input-output-safeguard-for-human-ai-conversations/.

              -
              +
              [MLC24]

              MLCommons. Mlcommons ai illuminate benchmarks. 2024. A collection of standardized benchmarks for evaluating AI systems. URL: https://ailuminate.mlcommons.org/benchmarks/.

              -
              +
              [OAA+24]

              OpenAI, Josh Achiam, Steven Adler, Sandhini Agarwal, Lama Ahmad, Ilge Akkaya, Florencia Leoni Aleman, Diogo Almeida, Janko Altenschmidt, Sam Altman, Shyamal Anadkat, Red Avila, Igor Babuschkin, Suchir Balaji, Valerie Balcom, Paul Baltescu, Haiming Bao, Mohammad Bavarian, Jeff Belgum, Irwan Bello, Jake Berdine, Gabriel Bernadett-Shapiro, Christopher Berner, Lenny Bogdonoff, Oleg Boiko, Madelaine Boyd, Anna-Luisa Brakman, Greg Brockman, Tim Brooks, Miles Brundage, Kevin Button, Trevor Cai, Rosie Campbell, Andrew Cann, Brittany Carey, Chelsea Carlson, Rory Carmichael, Brooke Chan, Che Chang, Fotis Chantzis, Derek Chen, Sully Chen, Ruby Chen, Jason Chen, Mark Chen, Ben Chess, Chester Cho, Casey Chu, Hyung Won Chung, Dave Cummings, Jeremiah Currier, Yunxing Dai, Cory Decareaux, Thomas Degry, Noah Deutsch, Damien Deville, Arka Dhar, David Dohan, Steve Dowling, Sheila Dunning, Adrien Ecoffet, Atty Eleti, Tyna Eloundou, David Farhi, Liam Fedus, Niko Felix, Simón Posada Fishman, Juston Forte, Isabella Fulford, Leo Gao, Elie Georges, Christian Gibson, Vik Goel, Tarun Gogineni, Gabriel Goh, Rapha Gontijo-Lopes, Jonathan Gordon, Morgan Grafstein, Scott Gray, Ryan Greene, Joshua Gross, Shixiang Shane Gu, Yufei Guo, Chris Hallacy, Jesse Han, Jeff Harris, Yuchen He, Mike Heaton, Johannes Heidecke, Chris Hesse, Alan Hickey, Wade Hickey, Peter Hoeschele, Brandon Houghton, Kenny Hsu, Shengli Hu, Xin Hu, Joost Huizinga, Shantanu Jain, Shawn Jain, Joanne Jang, Angela Jiang, Roger Jiang, Haozhun Jin, Denny Jin, Shino Jomoto, Billie Jonn, Heewoo Jun, Tomer Kaftan, Łukasz Kaiser, Ali Kamali, Ingmar Kanitscheider, Nitish Shirish Keskar, Tabarak Khan, Logan Kilpatrick, Jong Wook Kim, Christina Kim, Yongjik Kim, Jan Hendrik Kirchner, Jamie Kiros, Matt Knight, Daniel Kokotajlo, Łukasz Kondraciuk, Andrew Kondrich, Aris Konstantinidis, Kyle Kosic, Gretchen Krueger, Vishal Kuo, Michael Lampe, Ikai Lan, Teddy Lee, Jan Leike, Jade Leung, Daniel Levy, Chak Ming Li, Rachel Lim, Molly Lin, Stephanie Lin, Mateusz Litwin, Theresa Lopez, Ryan Lowe, Patricia Lue, Anna Makanju, Kim Malfacini, Sam Manning, Todor Markov, Yaniv Markovski, Bianca Martin, Katie Mayer, Andrew Mayne, Bob McGrew, Scott Mayer McKinney, Christine McLeavey, Paul McMillan, Jake McNeil, David Medina, Aalok Mehta, Jacob Menick, Luke Metz, Andrey Mishchenko, Pamela Mishkin, Vinnie Monaco, Evan Morikawa, Daniel Mossing, Tong Mu, Mira Murati, Oleg Murk, David Mély, Ashvin Nair, Reiichiro Nakano, Rajeev Nayak, Arvind Neelakantan, Richard Ngo, Hyeonwoo Noh, Long Ouyang, Cullen O'Keefe, Jakub Pachocki, Alex Paino, Joe Palermo, Ashley Pantuliano, Giambattista Parascandolo, Joel Parish, Emy Parparita, Alex Passos, Mikhail Pavlov, Andrew Peng, Adam Perelman, Filipe de Avila Belbute Peres, Michael Petrov, Henrique Ponde de Oliveira Pinto, Michael, Pokorny, Michelle Pokrass, Vitchyr H. Pong, Tolly Powell, Alethea Power, Boris Power, Elizabeth Proehl, Raul Puri, Alec Radford, Jack Rae, Aditya Ramesh, Cameron Raymond, Francis Real, Kendra Rimbach, Carl Ross, Bob Rotsted, Henri Roussez, Nick Ryder, Mario Saltarelli, Ted Sanders, Shibani Santurkar, Girish Sastry, Heather Schmidt, David Schnurr, John Schulman, Daniel Selsam, Kyla Sheppard, Toki Sherbakov, Jessica Shieh, Sarah Shoker, Pranav Shyam, Szymon Sidor, Eric Sigler, Maddie Simens, Jordan Sitkin, Katarina Slama, Ian Sohl, Benjamin Sokolowsky, Yang Song, Natalie Staudacher, Felipe Petroski Such, Natalie Summers, Ilya Sutskever, Jie Tang, Nikolas Tezak, Madeleine B. Thompson, Phil Tillet, Amin Tootoonchian, Elizabeth Tseng, Preston Tuggle, Nick Turley, Jerry Tworek, Juan Felipe Cerón Uribe, Andrea Vallone, Arun Vijayvergiya, Chelsea Voss, Carroll Wainwright, Justin Jay Wang, Alvin Wang, Ben Wang, Jonathan Ward, Jason Wei, CJ Weinmann, Akila Welihinda, Peter Welinder, Jiayi Weng, Lilian Weng, Matt Wiethoff, Dave Willner, Clemens Winter, Samuel Wolrich, Hannah Wong, Lauren Workman, Sherwin Wu, Jeff Wu, Michael Wu, Kai Xiao, Tao Xu, Sarah Yoo, Kevin Yu, Qiming Yuan, Wojciech Zaremba, Rowan Zellers, Chong Zhang, Marvin Zhang, Shengjia Zhao, Tianhao Zheng, Juntang Zhuang, William Zhuk, and Barret Zoph. Gpt-4 technical report. 2024. URL: https://arxiv.org/abs/2303.08774, arXiv:2303.08774.

              -
              +
              [PNC+24] (1,2,3)

              Inkit Padhi, Manish Nagireddy, Giandomenico Cornacchia, Subhajit Chaudhury, Tejaswini Pedapati, Pierre Dognin, Keerthiram Murugesan, Erik Miehling, Martín Santillán Cooper, Kieran Fraser, Giulio Zizzo, Muhammad Zaid Hameed, Mark Purcell, Michael Desmond, Qian Pan, Zahra Ashktorab, Inge Vejsbjerg, Elizabeth M. Daly, Michael Hind, Werner Geyer, Ambrish Rawat, Kush R. Varshney, and Prasanna Sattigeri. Granite guardian. 2024. URL: https://arxiv.org/abs/2412.07724, arXiv:2412.07724.

              -
              +
              [PCZ+23]

              Alexander Pan, Jun Shern Chan, Andy Zou, Nathaniel Li, Steven Basart, Thomas Woodside, Jonathan Ng, Hanlin Zhang, Scott Emmons, and Dan Hendrycks. Do the rewards justify the means? measuring trade-offs between rewards and ethical behavior in the machiavelli benchmark. 2023. URL: https://arxiv.org/abs/2304.03279, arXiv:2304.03279.

              -
              +
              [PHS+22] (1,2)

              Ethan Perez, Saffron Huang, Francis Song, Trevor Cai, Roman Ring, John Aslanides, Amelia Glaese, Nat McAleese, and Geoffrey Irving. Red teaming language models with language models. 2022. URL: https://arxiv.org/abs/2202.03286, arXiv:2202.03286.

              -
              -[SJLS22] +
              +[SJLS22]

              Lingfeng Shen, Haiyun Jiang, Lemao Liu, and Shuming Shi. Rethink the evaluation for attack strength of backdoor attacks in natural language processing. 2022. URL: https://arxiv.org/abs/2201.02993, arXiv:2201.02993.

              -
              +
              [SZW+24]

              Oliver J. Sutton, Qinghua Zhou, Wei Wang, Desmond J. Higham, Alexander N. Gorban, Alexander Bastounis, and Ivan Y. Tyukin. Stealth edits to large language models. 2024. URL: https://arxiv.org/abs/2406.12670, arXiv:2406.12670.

              -
              +
              [VAA+24] (1,2)

              Bertie Vidgen, Adarsh Agrawal, Ahmed M. Ahmed, Victor Akinwande, Namir Al-Nuaimi, Najla Alfaraj, Elie Alhajjar, Lora Aroyo, Trupti Bavalatti, Max Bartolo, Borhane Blili-Hamelin, Kurt Bollacker, Rishi Bomassani, Marisa Ferrara Boston, Siméon Campos, Kal Chakra, Canyu Chen, Cody Coleman, Zacharie Delpierre Coudert, Leon Derczynski, Debojyoti Dutta, Ian Eisenberg, James Ezick, Heather Frase, Brian Fuller, Ram Gandikota, Agasthya Gangavarapu, Ananya Gangavarapu, James Gealy, Rajat Ghosh, James Goel, Usman Gohar, Sujata Goswami, Scott A. Hale, Wiebke Hutiri, Joseph Marvin Imperial, Surgan Jandial, Nick Judd, Felix Juefei-Xu, Foutse Khomh, Bhavya Kailkhura, Hannah Rose Kirk, Kevin Klyman, Chris Knotz, Michael Kuchnik, Shachi H. Kumar, Srijan Kumar, Chris Lengerich, Bo Li, Zeyi Liao, Eileen Peters Long, Victor Lu, Sarah Luger, Yifan Mai, Priyanka Mary Mammen, Kelvin Manyeki, Sean McGregor, Virendra Mehta, Shafee Mohammed, Emanuel Moss, Lama Nachman, Dinesh Jinenhally Naganna, Amin Nikanjam, Besmira Nushi, Luis Oala, Iftach Orr, Alicia Parrish, Cigdem Patlak, William Pietri, Forough Poursabzi-Sangdeh, Eleonora Presani, Fabrizio Puletti, Paul Röttger, Saurav Sahay, Tim Santos, Nino Scherrer, Alice Schoenauer Sebag, Patrick Schramowski, Abolfazl Shahbazi, Vin Sharma, Xudong Shen, Vamsi Sistla, Leonard Tang, Davide Testuggine, Vithursan Thangarasa, Elizabeth Anne Watkins, Rebecca Weiss, Chris Welty, Tyler Wilbers, Adina Williams, Carole-Jean Wu, Poonam Yadav, Xianjun Yang, Yi Zeng, Wenhui Zhang, Fedor Zhdanov, Jiacheng Zhu, Percy Liang, Peter Mattson, and Joaquin Vanschoren. Introducing v0.5 of the ai safety benchmark from mlcommons. 2024. URL: https://arxiv.org/abs/2404.12241, arXiv:2404.12241.

              -
              +
              [VSK+24] (1,2)

              Bertie Vidgen, Nino Scherrer, Hannah Rose Kirk, Rebecca Qian, Anand Kannappan, Scott A. Hale, and Paul Röttger. Simplesafetytests: a test suite for identifying critical safety risks in large language models. 2024. URL: https://arxiv.org/abs/2311.08370, arXiv:2311.08370.

              -
              +
              [WMR24]

              Sandra Wachter, Brent Mittelstadt, and Chris Russell. Do large language models have a legal duty to tell the truth? Royal Society Open Science, 11(8):240197, 2024. URL: https://royalsocietypublishing.org/doi/abs/10.1098/rsos.240197, arXiv:https://royalsocietypublishing.org/doi/pdf/10.1098/rsos.240197, doi:10.1098/rsos.240197.

              -
              +
              [WCP+24]

              Boxin Wang, Weixin Chen, Hengzhi Pei, Chulin Xie, Mintong Kang, Chenhui Zhang, Chejian Xu, Zidi Xiong, Ritik Dutta, Rylan Schaeffer, Sang T. Truong, Simran Arora, Mantas Mazeika, Dan Hendrycks, Zinan Lin, Yu Cheng, Sanmi Koyejo, Dawn Song, and Bo Li. Decodingtrust: a comprehensive assessment of trustworthiness in gpt models. 2024. URL: https://arxiv.org/abs/2306.11698, arXiv:2306.11698.

              -
              +
              [YLX24]

              Jiahao Yu, Xingwei Lin, and Xinyu Xing. Gptfuzzer: red teaming large language models with auto-generated safety test cases. Papers with Code, 2024. URL: https://paperswithcode.com/dataset/gptfuzzer.

              -
              +
              [ZYY+24]

              Shuning Zhang, Lyumanshan Ye, Xin Yi, Jingyu Tang, Bo Shui, Haobin Xing, Pengfei Liu, and Hewu Li. "ghost of the past": identifying and resolving privacy leakage from llm's memory through proactive user interaction. 2024. URL: https://arxiv.org/abs/2410.14931, arXiv:2410.14931.

              -
              +
              [Zho24] -

              Qinghua Zhou. Stealth edits: detecting stealth edits in llm outputs. Hugging Face Spaces, 2024. URL: https://huggingface.co/spaces/qinghua-zhou/stealth-edits.

              +

              Qinghua Zhou. Stealth edits: detecting stealth edits in llm outputs. HuggingFace Spaces, 2024. URL: https://huggingface.co/spaces/qinghua-zhou/stealth-edits.

              -
              +
              [AmazonWServices24]

              Amazon Web Services. Amazon comprehend - natural language processing service. 2024. AWS natural language processing service for text analysis and content moderation. URL: https://aws.amazon.com/comprehend/.

              -
              +
              [Anthropic24]

              Anthropic. Anthropic's responsible scaling policy. Technical Report, Anthropic, 2024. URL: https://www-cdn.anthropic.com/1adf000c8f675958c2ee23805d91aaade1cd4613/responsible-scaling-policy.pdf.

              -
              +
              [CenterfASafety24a]

              Center for AI Safety. Harmbench. GitHub repository, 2024. Framework for evaluating language model safety. URL: https://github.com/centerforaisafety/HarmBench.

              -
              +
              [CenterfASafety24b]

              Center for AI Safety. Harmbench leaderboard. 2024. Leaderboard tracking performance of language models on safety benchmarks. URL: https://www.harmbench.org/results.

              -
              +
              [DeepMind24] (1,2)

              DeepMind. The frontier safety framework. Technical Report, DeepMind, 2024. URL: https://storage.googleapis.com/deepmind-media/DeepMind.com/Blog/introducing-the-frontier-safety-framework/fsf-technical-report.pdf.

              -
              +
              [EuropeanMAgency24]

              European Medicines Agency. Guiding principles for the use of large language models in regulatory science and medicines regulatory activities. Guidance Document, European Medicines Agency, 2024. URL: https://www.ema.europa.eu/en/documents/other/guiding-principles-use-large-language-models-regulatory-science-medicines-regulatory-activities_en.pdf.

              -
              +
              [FinancialIRAuthority24]

              Financial Industry Regulatory Authority. Artificial intelligence, including large language models and generative ai. Regulatory Notice 24-09, FINRA, 2024. URL: https://www.finra.org/rules-guidance/notices/24-09.

              -
              -[HarmBench24] +
              +[HarmBench24]

              HarmBench. Harmbench explorer. 2024. URL: https://www.harmbench.org/explore.

              -
              +
              [IBM24]

              IBM. Ibm watsonx.ai risk atlas. 2024. A framework for identifying and mitigating risks in AI systems. URL: https://www.ibm.com/docs/en/watsonx/saas?topic=ai-risk-atlas.

              -
              +
              [LibraryoCongress23]

              Library of Congress. China: generative ai measures finalized. July 2023. URL: https://www.loc.gov/item/global-legal-monitor/2023-07-18/china-generative-ai-measures-finalized/.

              -
              +
              [MistralAI24]

              Mistral AI. Mistral moderation: a technical report. 2024. URL: https://mistral.ai/news/mistral-moderation/.

              -
              +
              [MLSTeam24]

              ML Safety Team. Safebench: a comprehensive benchmark for llm safety evaluation. ML Safety Website, 2024. URL: https://www.mlsafety.org/safebench.

              -
              +
              [NationalIoSaTechnology24]

              National Institute of Standards and Technology. Ai risk management framework. Technical Report, National Institute of Standards and Technology, 2024. URL: https://www.nist.gov/itl/ai-risk-management-framework.

              -
              +
              [NVIDIA24]

              NVIDIA. Nemo-guardrails: an open-source toolkit for building reliable and safe llm applications. 2024. A framework for creating reliable and safe LLM applications with customizable guardrails. URL: https://github.com/NVIDIA/NeMo-Guardrails.

              -
              +
              [OpenAI24a]

              OpenAI. Openai moderation api. 2024. Documentation for OpenAI's content moderation API. URL: https://platform.openai.com/docs/guides/moderation.

              -
              +
              [OpenAI24b] (1,2)

              OpenAI. Openai preparedness framework. Technical Report, OpenAI, 2024. URL: https://cdn.openai.com/openai-preparedness-framework-beta.pdf.

              -
              +
              [OpenSafetyLab24a] -

              OpenSafetyLab. Salad-bench leaderboard. Hugging Face Space, 2024. URL: https://huggingface.co/spaces/OpenSafetyLab/Salad-Bench-Leaderboard.

              +

              OpenSafetyLab. Salad-bench leaderboard. HuggingFace Space, 2024. URL: https://huggingface.co/spaces/OpenSafetyLab/Salad-Bench-Leaderboard.

              -
              +
              [OpenSafetyLab24b] -

              OpenSafetyLab. Salad-data: a hierarchical and comprehensive safety dataset for large language models. Hugging Face Dataset, 2024. URL: https://huggingface.co/datasets/OpenSafetyLab/Salad-Data.

              +

              OpenSafetyLab. Salad-data: a hierarchical and comprehensive safety dataset for large language models. HuggingFace Dataset, 2024. URL: https://huggingface.co/datasets/OpenSafetyLab/Salad-Data.

              -
              +
              [ProtectAI24]

              ProtectAI. Llm-guard: comprehensive safety and security framework for large language models. 2024. An open-source toolkit for LLM security and safety. URL: https://github.com/protectai/llm-guard.

              -
              +
              [SurgeAI24]

              Surge AI. Surge ai profanity dataset. GitHub repository, 2024. A comprehensive dataset for training and evaluating profanity detection models. URL: https://github.com/surge-ai/profanity.

              -
              +
              [UKGovernment24]

              UK Government. Ai regulation: a pro-innovation approach. White Paper, Department for Science, Innovation and Technology, 2024. URL: https://www.gov.uk/government/publications/ai-regulation-a-pro-innovation-approach/white-paper.

              -
              +
              [UNICEF24]

              UNICEF. Policy guidance on ai for children. Policy Report, UNICEF Office of Research - Innocenti, 2024. URL: https://www.unicef.org/innocenti/reports/policy-guidance-ai-children.

              @@ -3051,11 +3051,11 @@

              [2] -

              Attack Success Rate (ASR) refers to a metric used in cybersecurity and machine learning to measure the percentage of times an attack successfully achieves its intended outcome, essentially indicating how effective a particular attack method is against a system or model; it is calculated by dividing the number of successful attacks by the total number of attempted attacks [Shen et al., 2022].

              +

              Attack Success Rate (ASR) refers to a metric used in cybersecurity and machine learning to measure the percentage of times an attack successfully achieves its intended outcome, essentially indicating how effective a particular attack method is against a system or model; it is calculated by dividing the number of successful attacks by the total number of attempted attacks [Shen et al., 2022].

      diff --git a/tamingllms/_build/html/notebooks/structured_output.html b/tamingllms/_build/html/notebooks/structured_output.html index 7369ab7..4974a8d 100644 --- a/tamingllms/_build/html/notebooks/structured_output.html +++ b/tamingllms/_build/html/notebooks/structured_output.html @@ -256,7 +256,7 @@
      -

      4. Structured Output

      +

      4. Structured Output

      In limits, there is freedom. Creativity thrives within structure.

      —Julia B. Cameron

      @@ -264,42 +264,42 @@
      -

      4.1. Introduction

      +

      4.1. Introduction

      Language Models excel at generating human-like text, but they often struggle to produce output in a structured format, consistently. This poses a significant challenge when we need LLMs to generate data that can be easily processed by downstream systems, such as databases, APIs, or other software applications. Even with a well-crafted prompt, an LLM might produce an unstructured response when a structured one is expected. This can be particularly challenging when integrating LLMs into systems that require specific data types and formats.

      -

      What user needs drive the demand for LLM output constraints? In a recent work by Google Research [Liu et al., 2024], the authors explored the user need for constraints on the output of large language models, drawing on a survey of 51 industry professionals who use LLMs in their work. User needs can be broadly categorized as follows:

      +

      What user needs drive the demand for LLM output constraints? In a recent work by Google Research [Liu et al., 2024], the authors explored the user need for constraints on the output of large language models, drawing on a survey of 51 industry professionals who use LLMs in their work. User needs can be broadly categorized as follows:

      1. Improving Developer Efficiency and Workflow

      • Reducing Trial and Error in Prompt Engineering: Developers find the process of crafting prompts to elicit desired output formats to be time-consuming, often involving extensive testing and iteration. LLM output constraints could make this process more efficient and predictable.

      • @@ -321,13 +321,13 @@

        -

        4.2. Problem Statement

        +

        4.2. Problem Statement

        Language models based on the Transformer architecture are next token prediction machines. These models calculate the probability of observing a token (from a vocabulary of size \(n\)) conditioned on the previous tokens in the sequence. This process can be expressed mathematically as:

        \[P(X) = P(x_1, x_2, \ldots, x_n) = \prod_{i=1}^n p(x_i|x_{<i})\]

        where, \(x_i\) represents the current token being generated, while \(x_{<i}\) encompasses all preceding tokens.

        -

        However, in practical applications, generating high-quality content requires more than just probabilistic next-token generation. The key challenge lies in incorporating control conditions (\(C\)) that guide the model to produce text with specific desired characteristics - whether that’s maintaining a consistent format, following syntactic rules, or adhering to semantic constraints. These control conditions must be integrated while preserving the model’s ability to generate natural, coherent text. This controlled text generation process can be formalized as [Liang et al., 2024]:

        +

        However, in practical applications, generating high-quality content requires more than just probabilistic next-token generation. The key challenge lies in incorporating control conditions (\(C\)) that guide the model to produce text with specific desired characteristics - whether that’s maintaining a consistent format, following syntactic rules, or adhering to semantic constraints. These control conditions must be integrated while preserving the model’s ability to generate natural, coherent text. This controlled text generation process can be formalized as [Liang et al., 2024]:

        \[P(X|C) = P(x_1, x_2, \ldots, x_n|C) = \prod_{i=1}^n p(x_i|x_{<i}, C)\]

        Here, \(C\) represents the set of constraints or control conditions that shape the generated output. Common constraints (\(C\)) include:

        @@ -341,8 +341,8 @@

        -

        4.3. Techniques

        -

        There are many techniques to obtain structured output from LLMs [Liang et al., 2024]. They can be broadly categorized into two types based on the phase they are applied to:

        +

        4.3. Techniques

        +

        There are many techniques to obtain structured output from LLMs [Liang et al., 2024]. They can be broadly categorized into two types based on the phase they are applied to:

        1. Training-Time Techniques (TTT): These techniques are applied during the training or post-training phases of the LLM. They are used to guide the model to learn the specific patterns and structures that are required for the task at hand.

        2. Inference-Time Techniques (ITT): These techniques are applied during the inference phase of the LLM. They are used to guide the model to produce the desired output at inference time.

        3. @@ -354,17 +354,17 @@

          NousResearch, 2024], a model trained on a specific system prompt for Structured Outputs able to respond according to following user provided JSON schema.

          +
        4. Example: NousResearch/Hermes-2-Theta-Llama-3-8B [NousResearch, 2024], a model trained on a specific system prompt for Structured Outputs able to respond according to following user provided JSON schema.

    4. Logit Post-Processing (ITT): Logit post-processing is a technique that involves modifying the logits of the LLM’s output before it is converted into text.

        -
      • Example: Outlines [Outlines, 2024], a Python package that allows to guide the generation process introducing logit biases. We will explore this solution later.

      • +
      • Example: Outlines [Outlines, 2024], a Python package that allows to guide the generation process introducing logit biases. We will explore this solution later.

    5. -

      4.3.1. Prompt Engineering

      +

      4.3.1. Prompt Engineering

      Perhaps the most common strategy to generate LLM response in a target format is using prompt engineering, in particular one-shot prompting, where the user provides an example of the desired output format within the prompt.

      As a motivating example, consider the following simple task: Given a segment of a SEC financial filing, generate a two-person discussion about key financial data from the text in JSON format, simulating what would be a real-world discussion about the underlying companies’ disclosed financial information. We would like to generate a structured output that can be easily parsed and integrated with other systems.

      In a one-shot prompting fashion, we can pass the following example in the prompt:

      @@ -490,7 +490,7 @@

      -

      4.3.2. JSON Mode (Fine-Tuned)

      +

      4.3.2. JSON Mode (Fine-Tuned)

      One-shot prompting is a simple technique that can lead to low-effort improvements in structured output, though may not be sufficient for complex (e.g. nested) structures and / or when the model’s output needs to be restricted to a specific set of options or types.

      Some models offer so-called “JSON Mode” as an attempt to handle those challenges. This is a feature provided by most LLM API providers today, such as OpenAI, that allows the model to generate output in JSON format. This is particularly useful when you need structured data as a result, such as when parsing the output programmatically or integrating it with other systems that require JSON input. As depicted in Fig. 4.1, JSON mode is implemented by instructing the LLM model to use JSON as response format and optionally defining a target schema.

      @@ -612,7 +612,7 @@

      -

      4.3.3. Logit Post-Processing

      +

      4.3.3. Logit Post-Processing

      Logit post-processing is a technique that involves modifying the logits of the LLM’s output before it is converted into text such that we have a “controlled” text generation.

      The text generation process follows a probabilistic approach. At each step, the model calculates the probability distribution over its entire vocabulary to determine the most likely next token.

      Let’s examine how an LLM processes an example prompt “Is Enzo a good name for a baby?” as depicted in Fig. 4.2:

      @@ -849,11 +849,11 @@

      -

      4.4. Tools

      +

      4.4. Tools

      -

      4.4.1. Outlines

      -

      Outlines [Outlines, 2024] is a library specifically focused on structured text generation from LLMs. Under the hood, Outlines works by adjusting the probability distribution of the model’s output logits - the raw scores from the final layer of the neural network that are normally converted into text tokens. By introducing carefully crafted logit biases, Outlines can guide the model to prefer certain tokens over others, effectively constraining its outputs to a predefined set of valid options.

      -

      The authors solve the general guided generation problem [Willard and Louf, 2023], which, as a consequence, solves the problem of structured output generation in LLMs by introducing an efficient indexing approach that reformulates neural text generation using finite-state machines (FSMs).

      +

      4.4.1. Outlines

      +

      Outlines [Outlines, 2024] is a library specifically focused on structured text generation from LLMs. Under the hood, Outlines works by adjusting the probability distribution of the model’s output logits - the raw scores from the final layer of the neural network that are normally converted into text tokens. By introducing carefully crafted logit biases, Outlines can guide the model to prefer certain tokens over others, effectively constraining its outputs to a predefined set of valid options.

      +

      The authors solve the general guided generation problem [Willard and Louf, 2023], which, as a consequence, solves the problem of structured output generation in LLMs by introducing an efficient indexing approach that reformulates neural text generation using finite-state machines (FSMs).

      They define the next token generation as a random variable:

      \[s_{t+1} \sim \text{Categorical}(\alpha) \text{ where } \alpha = \text{LLM}(S_t, \theta)\]
      @@ -884,7 +884,7 @@

      \(\tilde{s}_{t+1}\) is the next token sampled under constraints

      This formulation allows the masking operation to guide the generation process by zeroing out probabilities of invalid tokens according to the finite state machine states. But instead of checking the entire vocabulary (size N) at each generation step (O(N) complexity) to enforce output constraints, they convert constraints (regex/grammar) into FSM states and build an index mapping FSM states to valid vocabulary tokens. This achieves O(1) average complexity for token generation.

      -

      In summary, there are two stages in the Outlines framework [Tran-Thien, 2024]:

      +

      In summary, there are two stages in the Outlines framework [Tran-Thien, 2024]:

      1. Preprocessing Step: Outlines converts a character-level deterministic finite automaton (DFA) testing whether a string matches a regex into a token-level DFA testing whether a token sequence is decoded in a string matching the regex.

      2. Decoding Step: At decoding time, the DFA is used to determine, for each new token, which potential tokens are allowed. Starting from the initial state of the DFA, the allowed tokens are determined by the outgoing transitions from the current state. The corresponding mask is applied to the next token probabilities and these probabilities are renormalized. A new token can then be sampled and the state of the DFA updated.

      3. @@ -907,7 +907,7 @@

        Outlines State Machine
        -

        Fig. 4.3 Outlines State Machine [Tran-Thien, 2024].

        +

        Fig. 4.3 Outlines State Machine [Tran-Thien, 2024].

      The initial “Start” state contains a masking table that controls which tokens can begin the sequence. In this example, only characters from the set [YyNnAa] are allowed as valid first characters, with each having an assigned probability and mask value. The masking mechanism effectively filters out invalid tokens by setting their mask values to 0, ensuring only permitted transitions to the “First” state.

      @@ -997,7 +997,7 @@

      -

      4.4.2. LangChain

      +

      4.4.2. LangChain

      LangChain is a framework designed to simplify the development of LLM applications. It provides an abstraction layer over many LLM providers that in turn offers structured output.

      In particular, LangChain offers the with_structured_output method, which can be used with LLMs that support structured output APIs, allowing you to enforce a schema directly within the prompt.

      @@ -1052,12 +1052,12 @@

      Extracted places: ['California', 'Cupertino']

    -

    We observe that the model was able to extract the entities and places from the input text, and return them in the specified format. A full list of models that support .with_structured_output() can be found here. You can also use Outlines with LangChain [LangChain, 2024b].

    +

    We observe that the model was able to extract the entities and places from the input text, and return them in the specified format. A full list of models that support .with_structured_output() can be found here. You can also use Outlines with LangChain [LangChain, 2024b].

    -

    4.4.3. Ollama

    +

    4.4.3. Ollama

    Ollama is a popular tool that allows you to run LLMs locally (see Chapter Local LLMs in Practice). Ollama first introduced structured output generation in version 0.5.1 in late 2024 providing support for JSON output but highlighting additional formats are coming soon.

    -

    The current ollama implementation leverages LLama.cpp GBNF (GGML BNF) grammars [Ggerganov, 2024] to enable structured output generation. LLama.cpp GBNF forces language models to generate output in specific, predefined formats by constraining their outputs to follow precise rules and patterns. The system accomplishes this through a formal grammar specification that defines exactly how valid outputs can be constructed. It’s essentially an extension of BNF (Backus-Naur Form) [Wikipedia contributors, 2024] with some modern regex-like features added. These rules carefully define what elements are allowed, how they can be combined, and what patterns of repetition and sequencing are valid. By enforcing these constraints during generation, GBNF ensures the model’s output strictly adheres to the desired format.

    +

    The current ollama implementation leverages LLama.cpp GBNF (GGML BNF) grammars [Ggerganov, 2024] to enable structured output generation. LLama.cpp GBNF forces language models to generate output in specific, predefined formats by constraining their outputs to follow precise rules and patterns. The system accomplishes this through a formal grammar specification that defines exactly how valid outputs can be constructed. It’s essentially an extension of BNF (Backus-Naur Form) [Wikipedia contributors, 2024] with some modern regex-like features added. These rules carefully define what elements are allowed, how they can be combined, and what patterns of repetition and sequencing are valid. By enforcing these constraints during generation, GBNF ensures the model’s output strictly adheres to the desired format.

    Let’s replicate our previous structured output generation example with Ollama. First, make sure you have Ollama installed. You can find installation instructions here.

    curl -fsSL https://ollama.com/install.sh | sh
     pip install ollama
    @@ -1153,9 +1153,9 @@ 

    -

    4.5. Discussion

    +

    4.5. Discussion

    -

    4.5.1. Best Practices

    +

    4.5.1. Best Practices

    When implementing structured output with LLMs, it’s crucial to understand the distinction between different approaches. Some methods, such as logit post-processing, provide mathematical guarantees that the output will conform to the specified structure. This contrasts sharply with approaches like JSON mode, which rely on fine-tuned models or prompt engineering that offer no formal guarantees. This distinction becomes particularly important in production environments where reliability and consistency are paramount. With that in mind, here are some best practices to consider when implementing structured output generation with LLMs:

    • Clear Schema Definition: Define the desired output structure clearly. This can be done in several ways including schemas, types, or Pydantic models as appropriate.

    • @@ -1165,7 +1165,7 @@

      -

      4.5.2. Comparing Solutions

      +

      4.5.2. Comparing Solutions

      The choice of framework for structured LLM output depends heavily on specific constraints, requirements and use cases. LangChain is the most used LLM framework today with a large developer community base however its structured output generation depends on the underlying LLM provider support. Ollama enables straightforward local deployment and experimentation democratizing access to LLMs while fostering privacy and control, however today it only offers JSON format with further formats to come. Outlines emerges as a solution that provides formal guarantees with great flexibility and control over structured output generation while providing support for a wide range of LLMs. Table 4.1 provides a summary comparison of the different solutions.

    Table 6.2 Rules-Based Safety Filtering Tools.
    @@ -1204,26 +1204,26 @@

    [Guidance AI, 2024] and NVIDIA’s Logits Processor Zoo [NVIDIA, 2024a].

    +

    Other related tools not covered in this chapter worth mentioning include Guidance [Guidance AI, 2024] and NVIDIA’s Logits Processor Zoo [NVIDIA, 2024a].

    -

    4.5.3. Research and Ongoing Debate

    +

    4.5.3. Research and Ongoing Debate

    The use of structured output for Large Language Models is a developing area. While the ability to constrain LLM outputs offer clear benefits in parsing, robustness, and integration, there is growing debate on whether it also potentially comes at the cost of performance as well as reasoning abilities. Research in this area should be taken with a grain of salt since findings are mixed and often depend on the specific task and model family at hand furthermore model families are not always comparable and are getting updated by the day! Nonetheless, early findings provide some interesting insights as to why there is no one-size-fits-all solution when it comes to LLMs structured output.

    -

    There is some evidence indicating that LLMs may have bias in their handling of different output formats [Long et al., 2024]. This study examined common output structures like multiple-choice answers, wrapped text, lists, and key-value mappings. The authors analyzed key LLM model families, namely Gemma, Mistral, and ChatGPT, uncovering bias across multiple tasks and formats. The researchers attributed these biases to the models’ underlying token distributions for different formats. An example of this format bias emerged in the comparison between JSON and YAML outputs. While models like Mistral and Gemma excelled at generating JSON structures, they performed notably worse with YAML. Their YAML outputs often contained extraneous information that degrades output quality. This disparity likely stems from JSON’s prevalence in training data, highlighting how a format’s popularity directly influences model performance. While the studied models can be probably considered outdated by now since models are getting updated on a rapidly fashion, it is important to remark that addressing format bias is critical for advancing LLMs and ensuring their reliable application in real-world scenarios.

    -

    Recent (not yet peer-reviewed) research “Let Me Speak Freely? A Study on the Impact of Format Restrictions on Performance of Large Language Models” [Tam et al., 2024] suggests that imposing format restrictions on LLMs might impact their performance, particularly in reasoning-intensive tasks. Further evidence [Aider, 2024] suggests LLMs may produce lower quality code if they’re asked to return it as part of a structured JSON response, in particular:

    +

    There is some evidence indicating that LLMs may have bias in their handling of different output formats [Long et al., 2024]. This study examined common output structures like multiple-choice answers, wrapped text, lists, and key-value mappings. The authors analyzed key LLM model families, namely Gemma, Mistral, and ChatGPT, uncovering bias across multiple tasks and formats. The researchers attributed these biases to the models’ underlying token distributions for different formats. An example of this format bias emerged in the comparison between JSON and YAML outputs. While models like Mistral and Gemma excelled at generating JSON structures, they performed notably worse with YAML. Their YAML outputs often contained extraneous information that degrades output quality. This disparity likely stems from JSON’s prevalence in training data, highlighting how a format’s popularity directly influences model performance. While the studied models can be probably considered outdated by now since models are getting updated on a rapidly fashion, it is important to remark that addressing format bias is critical for advancing LLMs and ensuring their reliable application in real-world scenarios.

    +

    Recent (not yet peer-reviewed) research “Let Me Speak Freely? A Study on the Impact of Format Restrictions on Performance of Large Language Models” [Tam et al., 2024] suggests that imposing format restrictions on LLMs might impact their performance, particularly in reasoning-intensive tasks. Further evidence [Aider, 2024] suggests LLMs may produce lower quality code if they’re asked to return it as part of a structured JSON response, in particular:

    • Potential performance degradation: Enforcing structured output, especially through constrained decoding methods like JSON-mode, can negatively impact an LLM’s reasoning abilities. This is particularly evident in tasks that require multi-step reasoning or complex thought processes.

    • Overly restrictive schemas: Imposing strict schemas can limit the expressiveness of LLM outputs and may hinder their ability to generate creative or nuanced responses. In certain cases, the strictness of the schema might outweigh the benefits of structured output.

    • Increased complexity in prompt engineering: Crafting prompts that effectively guide LLMs to generate structured outputs while maintaining performance can be challenging. It often requires careful consideration of the schema, the task instructions, and the desired level of detail in the response.

    -

    On the other hand, those findings are not without criticism. The .txt team challenges the work of [Tam et al., 2024]. The rebuttal argues that structured generation, when done correctly, actually improves performance [Dottxt, 2024].

    +

    On the other hand, those findings are not without criticism. The .txt team challenges the work of [Tam et al., 2024]. The rebuttal argues that structured generation, when done correctly, actually improves performance [Dottxt, 2024].

    Structured vs Unstructured Results by .txt team
    -

    Fig. 4.4 Structured vs Unstructured Results by .txt team [Dottxt, 2024].

    +

    Fig. 4.4 Structured vs Unstructured Results by .txt team [Dottxt, 2024].

    -

    The .txt team presents compelling evidence through their reproduction of the paper’s experiments. While their unstructured results align with the original paper’s findings, their structured results paint a dramatically different picture - demonstrating that structured generation actually improves performance (see Fig. 4.4). The team has made their experimental notebooks publicly available on GitHub for independent verification [Dottxt, 2024].

    +

    The .txt team presents compelling evidence through their reproduction of the paper’s experiments. While their unstructured results align with the original paper’s findings, their structured results paint a dramatically different picture - demonstrating that structured generation actually improves performance (see Fig. 4.4). The team has made their experimental notebooks publicly available on GitHub for independent verification [Dottxt, 2024].

    .txt team identifies several flaws in the methodology of “Let Me Speak Freely?” that they believe led to inaccurate conclusions:

    • The paper finds that structured output improves performance on classification tasks but doesn’t reconcile this finding with its overall negative conclusion about structured output.

    • @@ -1237,12 +1237,12 @@

      -

      4.6. Conclusion

      +

      4.6. Conclusion

      Extracting structured output from LLMs is crucial for integrating them into real-world applications. By understanding the challenges and employing appropriate strategies and tools, developers can improve the reliability and usability of LLM-powered systems, unlocking their potential to automate complex tasks and generate valuable insights.

      Prompt engineering and the use of fine-tuned models can help control the output of LLMs. However, when strong guarantees are needed, practitioners should consider techniques such as logit post-processing that provides formal guarantees for controlled output generation.

    -

    4.7. Acknowledgements

    +

    4.7. Acknowledgements

    We would like to thank Cameron Pfiffer from the .txt team for his insightful review and feedback.

    CC BY-NC-SA 4.0

    @misc{tharsistpsouza2024tamingllms,
    @@ -1257,70 +1257,70 @@ 

    -

    4.8. References

    +

    4.8. References

    -
    +
    [Aid24]

    Aider. Code in json: structured output for llms. https://aider.chat/2024/08/14/code-in-json.html, 2024. Accessed: 2024.

    -
    +
    [Dot24] (1,2,3)

    Dottxt. Say what you mean: demos. https://github.com/dottxt-ai/demos/tree/main/say-what-you-mean, 2024. Accessed: 2024.

    -
    +
    [Gge24]

    Ggerganov. Llama.cpp grammars documentation. https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md, 2024. Accessed: 2024.

    -
    +
    [Lan4b]

    LangChain. Outlines integration documentation. Online Documentation, 2024b. Documentation on integrating Outlines library with LangChain for structured generation. URL: https://python.langchain.com/docs/integrations/chat/outlines/.

    -
    +
    [LWW+24] (1,2)

    Xun Liang, Hanyu Wang, Yezhaohui Wang, Shichao Song, Jiawei Yang, Simin Niu, Jie Hu, Dan Liu, Shunyu Yao, Feiyu Xiong, and Zhiyu Li. Controllable text generation for large language models: a survey. 2024. URL: https://arxiv.org/abs/2408.12599, arXiv:2408.12599.

    -
    +
    [LLF+24]

    Michael Xieyang Liu, Frederick Liu, Alexander J. Fiannaca, Terry Koo, Lucas Dixon, Michael Terry, and Carrie J. Cai. "we need structured output": towards user-centered constraints on large language model output. In Extended Abstracts of the CHI Conference on Human Factors in Computing Systems, CHI EA '24. New York, NY, USA, 2024. Association for Computing Machinery. URL: https://doi.org/10.1145/3613905.3650756, doi:10.1145/3613905.3650756.

    -
    +
    [LNS+24]

    Do Xuan Long, Hai Nguyen Ngoc, Tiviatis Sim, Hieu Dao, Shafiq Joty, Kenji Kawaguchi, Nancy F Chen, and Min-Yen Kan. Llms are biased towards output formats! systematically evaluating and mitigating output format bias of llms. arXiv preprint arXiv:2408.08656, 2024.

    -
    +
    [Nou24]

    NousResearch. Hermes-2-theta-llama-3-8b. https://huggingface.co/NousResearch/Hermes-2-Theta-Llama-3-8B, 2024. Accessed: 2024.

    -
    +
    [Out24] (1,2)

    Outlines. Type-safe structured output from llms. https://dottxt-ai.github.io/outlines/latest/, 2024. Accessed: 2024.

    -
    +
    [TWT+24] (1,2)

    Zhi Rui Tam, Cheng-Kuang Wu, Yi-Lin Tsai, Chieh-Yen Lin, Hung-yi Lee, and Yun-Nung Chen. Let me speak freely? a study on the impact of format restrictions on performance of large language models. 2024. URL: https://arxiv.org/abs/2408.02442, arXiv:2408.02442.

    -
    +
    [TT24] (1,2)

    Vivien Tran-Thien. Fast, high-fidelity llm decoding with regex constraints. 2024. URL: https://vivien000.github.io/blog/journal/llm-decoding-with-regex-constraints.html.

    -
    +
    [WL23]

    Brandon T. Willard and Rémi Louf. Efficient guided generation for large language models. 2023. URL: https://arxiv.org/abs/2307.09702, arXiv:2307.09702.

    -
    +
    [GuidanceAI24]

    Guidance AI. Guidance: language model programming. GitHub Repository, 2024. Framework for programming language models with structured templating and control flow. URL: https://github.com/guidance-ai/guidance.

    -
    +
    [NVIDIA4a]

    NVIDIA. Logits processor zoo. GitHub Repository, 2024a. Collection of logits processors for controlling language model generation. URL: https://github.com/NVIDIA/logits-processor-zoo.

    -
    +
    [Wikipediacontributors24]

    Wikipedia contributors. Backus naur form. https://en.wiktionary.org/wiki/Backus-Naur_form, 2024. Accessed: 2024.

    diff --git a/tamingllms/_build/html/objects.inv b/tamingllms/_build/html/objects.inv index 2d5d56c0aca6a23f5235d8115db06f47be9118cf..2a97490fa1909597a3af944e866faedd3d757fca 100644 GIT binary patch delta 3721 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 delta 3504 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. About the Book", "1. Preface", "Taming LLMs", "7. Preference-Based Alignment", "9. The Falling Cost Paradox", "3. The Evals Gap", "5. Managing Input Data", "8. Local LLMs in Practice", "6. Safety", "4. Structured Output"], "terms": {"am": [0, 8], "alwai": [0, 3, 4, 5, 6, 9], "do": [0, 3, 4, 5, 6, 7, 8, 9], "which": [0, 3, 4, 5, 6, 7, 8, 9], "cannot": [0, 3, 4, 5, 7, 8], "order": [0, 3, 5, 6, 8, 9], "mai": [0, 1, 3, 4, 5, 6, 7, 8, 9], "learn": [0, 3, 5, 6, 7, 8, 9], "how": [0, 1, 3, 4, 5, 6, 7, 8, 9], "pablo": [0, 5], "picasso": 0, "In": [0, 3, 4, 5, 6, 7, 8, 9], "recent": [0, 3, 4, 5, 6, 7, 8, 9], "year": [0, 3, 4, 5, 6, 7, 8, 9], "larg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "languag": [0, 1, 2, 4, 5, 6, 7, 8, 9], "model": [0, 1, 2, 4, 6, 8, 9], "llm": [0, 1, 3, 6, 9], "have": [0, 1, 3, 4, 5, 6, 7, 8, 9], "emerg": [0, 3, 4, 6, 7, 8, 9], "transform": [0, 1, 3, 5, 6, 7, 8, 9], "forc": [0, 5, 9], "technologi": [0, 1, 4, 5, 6, 7, 8], "promis": [0, 3, 4, 5, 8], "revolution": [0, 8], "build": [0, 2, 3, 5, 6, 7, 8, 9], "product": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "interact": [0, 3, 4, 5, 6, 7, 8, 9], "comput": [0, 3, 4, 5, 6, 7, 8, 9], "from": [0, 1, 4, 5, 6, 7, 8, 9], "chatgpt": [0, 3, 4, 7, 9], "llama": [0, 3, 4, 5, 8, 9], "github": [0, 3, 4, 5, 7, 8, 9], "copilot": 0, "claud": [0, 3, 5, 7, 8], "artifact": 0, "system": [0, 3, 4, 5, 6, 7, 8, 9], "captur": [0, 1, 3, 5, 7, 8], "public": [0, 3, 5, 7, 8], "imagin": [0, 7], "spark": 0, "gold": [0, 3, 6, 8], "rush": 0, "ai": [0, 3, 4, 5, 7, 9], "power": [0, 2, 3, 4, 5, 7, 8, 9], "applic": [0, 1, 2, 3, 4, 6, 7, 8, 9], "howev": [0, 3, 4, 5, 6, 7, 8, 9], "beneath": 0, "surfac": [0, 5], "technolog": [0, 1, 4, 5, 6, 8], "revolut": [0, 4], "li": [0, 3, 5, 7, 8, 9], "complex": [0, 1, 3, 5, 6, 7, 8, 9], "landscap": [0, 3, 5, 7], "softwar": [0, 1, 3, 4, 6, 7, 8, 9], "develop": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tech": [0, 7, 8], "leader": [0, 2, 5, 8], "must": [0, 3, 4, 5, 7, 8, 9], "navig": [0, 2, 5, 7, 8], "focus": [0, 3, 4, 5, 6, 7, 8, 9], "bring": [0, 3, 7], "awar": [0, 3, 4, 5, 6, 8], "limit": [0, 1, 2, 4, 5, 6, 7, 8, 9], "har": [0, 2, 5], "solut": [0, 2, 4, 5, 6, 7, 8], "overcom": [0, 5, 6], "them": [0, 1, 3, 4, 5, 6, 7, 8, 9], "robust": [0, 3, 4, 5, 6, 7, 8, 9], "It": [0, 3, 4, 5, 6, 7, 8, 9], "offer": [0, 3, 4, 5, 6, 7, 8, 9], "critic": [0, 2, 3, 4, 5, 6, 7, 8, 9], "implement": [0, 2, 3, 4, 5, 7, 9], "back": [0, 5, 6, 7, 8, 9], "reproduc": [0, 1, 2, 5, 7], "exampl": [0, 1, 2, 3, 5, 7, 8, 9], "while": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "mani": [0, 1, 3, 4, 5, 6, 7, 8, 9], "resourc": [0, 3, 4, 5, 6, 7, 8], "cover": [0, 3, 4, 5, 6, 7, 8, 9], "capabl": [0, 1, 2, 4, 5, 6, 7, 8, 9], "specif": [0, 3, 4, 5, 6, 7, 9], "hidden": [0, 3, 8], "pitfal": [0, 1, 3, 4, 5, 6, 7, 9], "engin": [0, 1, 2, 3, 4, 5, 7, 8], "technic": [0, 1, 2, 3, 5, 7, 9], "face": [0, 3, 4, 5, 6, 7, 8], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "comprehens": [0, 2, 3, 4, 5, 6, 7, 8, 9], "guid": [0, 1, 3, 4, 5, 6, 7, 8, 9], "leverag": [0, 3, 5, 6, 7, 8, 9], "battl": [0, 2, 7], "test": [0, 2, 3, 4, 6, 7, 8, 9], "tool": [0, 1, 3, 4, 6], "throughout": [0, 4, 5, 6, 7, 8], "tackl": [0, 3, 5, 6, 8], "follow": [0, 3, 4, 5, 6, 7, 8, 9], "non": [0, 3, 7, 8, 9], "exhaust": [0, 7], "list": [0, 3, 5, 6, 7, 8, 9], "structur": [0, 3, 4, 5, 7, 8], "un": 0, "reliabl": [0, 1, 3, 4, 5, 7, 8, 9], "struggl": [0, 1, 3, 5, 6, 7, 8, 9], "maintain": [0, 1, 3, 4, 5, 6, 7, 8, 9], "consist": [0, 1, 3, 4, 5, 6, 7, 8, 9], "output": [0, 1, 3, 5, 6, 7, 8], "format": [0, 3, 4, 5, 6, 7, 8, 9], "complic": [0, 8], "integr": [0, 1, 3, 4, 5, 6, 7, 8, 9], "larger": [0, 3, 4, 5, 6, 7, 8, 9], "make": [0, 3, 4, 5, 6, 7, 8, 9], "error": [0, 3, 5, 6, 8, 9], "handl": [0, 3, 4, 5, 6, 7, 8, 9], "more": [0, 1, 3, 5, 6, 7, 8, 9], "input": [0, 3, 5, 7, 8, 9], "data": [0, 1, 4, 5, 7, 8, 9], "manag": [0, 1, 4, 5, 7, 8, 9], "ar": [0, 1, 3, 4, 5, 6, 7, 8, 9], "sensit": [0, 3, 4, 5, 6, 7, 8], "oper": [0, 3, 5, 6, 7, 8, 9], "stale": [0, 6], "long": [0, 1, 3, 4, 5, 7, 8, 9], "context": [0, 1, 3, 4, 5, 6, 7, 8, 9], "requir": [0, 3, 6, 7, 8, 9], "care": [0, 3, 4, 5, 6, 7, 8, 9], "retriev": [0, 4, 5, 7], "strategi": [0, 3, 4, 5, 6, 7, 8, 9], "tradit": [0, 3, 7, 8], "methodologi": [0, 3, 5, 7, 8, 9], "break": [0, 1, 3, 4, 5, 6, 8], "down": [0, 1, 4, 5, 6, 7, 8], "deal": [0, 3, 7], "determinist": [0, 9], "gener": [0, 1, 4, 7, 9], "new": [0, 2, 3, 4, 5, 6, 7, 8, 9], "safeti": [0, 3, 5, 9], "align": [0, 4, 5, 6, 7, 8, 9], "can": [0, 1, 3, 4, 5, 6, 7, 8, 9], "harm": [0, 3, 5, 7], "bias": [0, 3, 5, 7, 8, 9], "inappropri": [0, 3, 8], "safeguard": [0, 5, 8], "monitor": [0, 3, 4, 5, 6, 7, 8], "ensur": [0, 3, 4, 5, 6, 7, 8, 9], "safe": [0, 3, 5, 8, 9], "deploy": [0, 3, 4, 5, 8, 9], "vendor": [0, 4, 5, 7], "lock": [0, 3, 4, 7], "cloud": [0, 3, 4, 5, 7, 8, 9], "base": [0, 1, 4, 7, 9], "provid": [0, 2, 3, 4, 5, 6, 7, 8, 9], "creat": [0, 1, 3, 4, 5, 6, 7, 8, 9], "signific": [0, 3, 4, 5, 6, 7, 8, 9], "depend": [0, 3, 4, 5, 6, 7, 9], "through": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "proprietari": [0, 3, 7, 8, 9], "infrastructur": [0, 4, 7], "difficult": [0, 3, 5, 8], "switch": [0, 7], "self": [0, 3, 5, 6, 7, 8, 9], "host": [0, 4, 5, 7, 8], "cost": [0, 3, 5, 6, 8, 9], "optim": [0, 1, 5, 6, 7, 8], "The": [0, 1, 3, 6, 8, 9], "financi": [0, 1, 3, 4, 5, 6, 8, 9], "quickli": [0, 3, 4, 7], "becom": [0, 3, 4, 5, 6, 7, 8, 9], "prohibit": [0, 3, 5, 7], "without": [0, 1, 3, 4, 5, 7, 8, 9], "take": [0, 2, 3, 4, 5, 6, 7, 8, 9], "hand": [0, 7, 8, 9], "focu": [0, 2, 3, 4, 5, 6, 7, 8, 9], "access": [0, 3, 4, 5, 6, 7, 8, 9], "all": [0, 1, 3, 4, 5, 6, 7, 8, 9], "fulli": [0, 3, 5, 8], "document": [0, 3, 4, 5, 7, 8, 9], "allow": [0, 5, 6, 7, 8, 9], "reader": [0, 2, 6, 8], "replic": [0, 5, 8, 9], "result": [0, 3, 4, 5, 6, 8, 9], "exactli": [0, 5, 9], "design": [0, 1, 3, 7, 9], "run": [0, 3, 4, 5, 6, 7, 8, 9], "consum": [0, 3, 4, 5, 6, 7, 8, 9], "grade": [0, 3, 4, 5, 6, 7, 8], "hardwar": [0, 3, 4, 5], "expens": [0, 3, 4, 5, 6, 7, 8], "avail": [0, 3, 4, 5, 6, 7, 8, 9], "notebook": [0, 3, 9], "modifi": [0, 3, 5, 8, 9], "extend": [0, 3, 4, 5, 6, 7, 9], "minim": [0, 3, 4, 5, 7, 8, 9], "effect": [0, 1, 3, 4, 5, 6, 8, 9], "framework": [0, 3, 4, 5, 7], "wai": [0, 3, 4, 5, 6, 7, 8, 9], "priorit": [0, 3, 5, 6, 7, 8], "transpar": [0, 3, 4, 5, 7, 8], "visibl": [0, 5], "being": [0, 3, 4, 5, 6, 7, 8, 9], "better": [0, 2, 3, 4, 5, 6, 7, 8, 9], "understand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "custom": [0, 3, 5, 6, 9], "flexibl": [0, 4, 5, 7, 8, 9], "adapt": [0, 3, 4, 5, 7, 8], "us": [0, 1, 3, 4, 7, 8, 9], "case": [0, 4, 5, 9], "unlik": [0, 3, 5, 7], "black": [0, 3], "box": [0, 7], "commerci": [0, 5, 7, 8, 9], "most": [0, 3, 4, 5, 6, 7, 8, 9], "freeli": [0, 9], "foster": [0, 3, 5, 8, 9], "reduc": [0, 3, 4, 5, 6, 7, 8, 9], "independ": [0, 5, 6, 8, 9], "freedom": [0, 7, 9], "architectur": [0, 3, 4, 5, 7, 9], "decis": [0, 3, 4, 5, 6, 7, 8], "keep": [0, 3, 5, 6, 7, 8], "principl": [0, 3, 5, 7, 8], "itself": [0, 3, 5, 6, 7, 8], "": [0, 1, 3, 4, 5, 6, 7, 8, 9], "live": [0, 1, 5, 6, 8], "evolv": [0, 4, 5, 7, 8], "chang": [0, 3, 5, 6, 7, 8], "encourag": [0, 3, 5, 8, 9], "report": [0, 3, 5, 6, 7, 8, 9], "suggest": [0, 3, 5, 7, 8, 9], "improv": [0, 3, 4, 5, 6, 7, 8, 9], "contribut": [0, 4, 5, 6, 7, 8], "via": [0, 3, 4, 5, 6, 7, 8, 9], "pull": [0, 7], "request": [0, 3, 4, 5, 6, 7, 8, 9], "share": [0, 3, 5, 6, 7, 8, 9], "own": [0, 3, 4, 5, 6, 7, 8], "experi": [0, 3, 4, 5, 6, 7, 8, 9], "commun": [0, 3, 4, 5, 6, 8, 9], "propos": [0, 4, 5, 6, 8], "chapter": [0, 3, 4, 5, 6, 7, 8, 9], "section": [0, 3, 4, 5, 6, 7, 8, 9], "found": [0, 3, 4, 5, 7, 9], "http": [0, 1, 3, 4, 5, 6, 7, 8, 9], "com": [0, 3, 4, 5, 6, 7, 8, 9], "souzatharsi": [0, 3, 4, 5, 6, 7, 8, 9], "tamingllm": [0, 3, 4, 5, 6, 7, 8, 9], "whether": [0, 3, 4, 5, 6, 7, 8, 9], "you": [0, 1, 3, 4, 5, 6, 7, 8, 9], "ve": [0, 7], "typo": [0, 8], "want": [0, 1, 3, 6, 7, 8, 9], "welcom": 0, "pleas": [0, 3, 5, 7, 8], "feel": [0, 7], "free": [0, 1, 3, 5, 7, 8], "look": [0, 2, 3, 4, 5, 6, 7, 8], "our": [0, 1, 3, 4, 5, 6, 7, 8, 9], "goal": [0, 1, 3, 5, 6, 8, 9], "discourag": [0, 6], "enabl": [0, 3, 4, 5, 6, 7, 8, 9], "By": [0, 1, 2, 3, 5, 6, 8, 9], "upfront": [0, 2, 4], "equip": [0, 2, 5, 8], "avoid": [0, 3, 5, 7, 8, 9], "current": [0, 2, 3, 4, 5, 6, 8, 9], "discours": [0, 2], "around": [0, 2, 3, 5, 6, 7, 8, 9], "tend": [0, 2, 5, 8], "toward": [0, 3, 5, 8, 9], "extrem": [0, 3, 4, 5, 8], "either": [0, 3, 5, 6, 7, 8], "uncrit": 0, "enthusiasm": 0, "wholesal": [0, 5], "dismiss": 0, "differ": [0, 3, 4, 5, 6, 7, 8, 9], "rather": [0, 1, 3, 4, 5, 6, 7, 8], "than": [0, 1, 3, 5, 6, 7, 8, 9], "theoret": [0, 3], "examin": [0, 3, 5, 6, 7, 8, 9], "first": [0, 1, 3, 4, 5, 6, 7, 8, 9], "everi": [0, 4, 5, 8], "concept": [0, 3, 5, 8], "illustr": [0, 3, 5, 6, 7, 8, 9], "execut": [0, 5, 7, 8], "immedi": [0, 3, 4, 5, 7], "analysi": [0, 1, 3, 4, 5, 6, 7, 8], "balanc": [0, 3, 4, 5, 7, 8, 9], "both": [0, 3, 4, 5, 6, 7, 8], "help": [0, 3, 4, 5, 6, 7, 8, 9], "inform": [0, 3, 4, 5, 6, 7, 8, 9], "lead": [0, 1, 3, 4, 5, 6, 7, 8, 9], "genai": [0, 1, 3, 6, 8], "initi": [0, 1, 3, 4, 5, 6, 7, 8, 9], "advoc": [0, 8], "anyon": [0, 8], "seek": [0, 5, 7, 8], "work": [0, 1, 3, 4, 5, 6, 7, 8, 9], "typic": [0, 3, 4, 5, 7, 8, 9], "job": [0, 5, 6, 7, 8], "role": [0, 3, 5, 6, 7, 8, 9], "platform": [0, 5, 6, 7, 8, 9], "backend": [0, 3, 5], "exist": [0, 3, 4, 5, 7], "ml": [0, 6, 8], "transit": [0, 4, 5, 7, 9], "overse": 0, "motiv": [0, 3, 4, 5, 6, 9], "need": [0, 3, 4, 5, 6, 7, 8, 9], "readi": [0, 5, 8], "desir": [0, 1, 3, 5, 9], "perform": [0, 3, 5, 6, 8, 9], "earli": [0, 3, 4, 5, 8, 9], "befor": [0, 3, 4, 5, 6, 8, 9], "thei": [0, 1, 3, 4, 5, 6, 7, 8, 9], "costli": [0, 5, 6, 8], "problem": [0, 1, 2, 3, 4, 6, 7, 8], "too": [0, 1, 3, 5, 6, 7, 8], "late": [0, 3, 4, 8, 9], "lifecycl": [0, 7, 8], "after": [0, 1, 3, 5, 6, 7, 8, 9], "read": [0, 3, 4, 5, 6, 8, 9], "implic": [0, 1, 3, 5, 8], "recommend": [0, 3, 5, 6, 7, 8, 9], "abl": [0, 3, 5, 9], "deploi": [0, 3, 5, 7, 8], "proper": [0, 3, 4, 7, 8, 9], "realist": [0, 3, 4, 8], "effort": [0, 5, 7, 8, 9], "estim": [0, 4, 5, 6, 8], "project": [0, 3, 4, 5, 6, 7, 8], "impact": [0, 3, 4, 5, 6, 7, 8, 9], "timelin": 0, "To": [0, 3, 5, 7, 8, 9], "should": [0, 3, 4, 5, 6, 7, 8, 9], "basic": [0, 3, 5, 7, 8], "program": [0, 5, 6, 7, 9], "knowledg": [0, 3, 5, 6, 7, 8], "mistral": [0, 3, 9], "openai": [0, 3, 5, 6, 7, 9], "anthrop": [0, 3, 6, 9], "similar": [0, 3, 4, 5, 6, 7, 9], "dive": [0, 4], "here": [0, 2, 3, 4, 5, 6, 7, 8, 9], "get": [0, 3, 4, 5, 6, 7, 8, 9], "start": [0, 3, 4, 5, 6, 7, 8, 9], "clone": [0, 3], "companion": 0, "git": 0, "cd": 0, "activ": [0, 3, 4, 5, 6, 7, 8], "virtual": [0, 5], "m": [0, 3, 5, 6, 7, 8, 9], "venv": [0, 9], "tame": [0, 3, 4, 5, 6, 7, 8, 9], "env": [0, 3, 5, 6, 8, 9], "bin": [0, 7], "On": [0, 5, 7, 9], "window": [0, 4, 5, 6, 7], "script": [0, 7], "try": [0, 1, 3, 5, 8, 9], "each": [0, 3, 4, 5, 6, 7, 8, 9], "contain": [0, 3, 4, 5, 6, 7, 8, 9], "possibl": [0, 3, 4, 5, 6, 7, 8, 9], "includ": [0, 1, 3, 4, 5, 6, 7, 8, 9], "necessari": [0, 3, 4, 5, 8], "instal": [0, 3, 5, 7, 9], "go": [0, 3, 5, 6, 9], "prefer": [0, 5, 6, 7, 8, 9], "packag": [0, 4, 5, 6, 7, 9], "e": [0, 1, 3, 4, 5, 6, 7, 8, 9], "g": [0, 3, 4, 5, 6, 7, 8, 9], "pip": [0, 3, 5, 7, 9], "poetri": [0, 8], "file": [0, 3, 5, 6, 7, 8, 9], "root": [0, 3], "directori": [0, 5, 7], "add": [0, 3, 5, 6, 7, 8], "other": [0, 3, 4, 5, 6, 7, 8, 9], "openai_api_kei": [0, 3], "your_openai_api_key_her": 0, "never": [0, 9], "commit": [0, 3, 5, 8], "version": [0, 3, 4, 5, 7, 8, 9], "control": [0, 1, 3, 4, 5, 6, 7, 8, 9], "kept": [0, 5], "privat": [0, 5], "If": [0, 1, 3, 4, 5, 7, 8, 9], "encount": [0, 2, 5, 8], "rate": [0, 3, 4, 5, 6, 7, 8], "consid": [0, 3, 4, 5, 6, 7, 8, 9], "smaller": [0, 3, 4, 5, 6, 7, 9], "retri": [0, 9], "logic": [0, 1, 3, 5, 6, 8], "conflict": [0, 3, 5], "fresh": 0, "like": [0, 1, 3, 4, 5, 6, 7, 8, 9], "check": [0, 5, 6, 7, 8, 9], "page": [0, 5, 6, 7], "known": [0, 5, 6, 8, 9], "now": [0, 1, 3, 4, 5, 6, 7, 8, 9], "let": [0, 3, 4, 5, 6, 7, 8, 9], "begin": [0, 5, 7, 8, 9], "explor": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tharsi": [0, 3, 4, 5, 6, 7, 8, 9], "souza": [0, 3, 4, 5, 6, 7, 8, 9], "ph": [0, 8], "d": [0, 3, 4, 5, 6, 7, 8, 9], "scienc": [0, 3, 5, 8], "ucl": 0, "univers": [0, 5, 7, 8], "london": 0, "scientist": [0, 1, 7, 8], "special": [0, 4, 5, 6, 7, 8, 9], "he": [0, 3, 5, 8], "lectur": 0, "columbia": 0, "master": [0, 4, 7, 9], "appli": [0, 3, 5, 6, 7, 8, 9], "analyt": 0, "incom": [0, 5, 6], "head": [0, 3, 5, 6, 8, 9], "equiti": [0, 5, 6], "citadel": 0, "former": [0, 1, 5, 7], "senior": [0, 5], "vp": 0, "two": [0, 3, 4, 5, 6, 7, 8, 9], "sigma": [0, 3], "invest": [0, 3, 4, 5, 6, 8], "mentor": 0, "under": [0, 3, 4, 5, 7, 8, 9], "repres": [0, 3, 4, 5, 6, 7, 9], "student": [0, 3, 6, 8], "profession": [0, 3, 5, 8, 9], "divers": [0, 3, 4, 5, 6, 8], "global": [0, 5, 6, 8], "ai1": 0, "ecosystem": [0, 4, 5, 7], "With": [0, 3, 5, 7, 8, 9], "over": [0, 2, 3, 4, 5, 6, 7, 8, 9], "15": [0, 5, 6, 7, 8, 9], "deliv": [0, 4, 5, 7], "across": [0, 3, 4, 5, 6, 7, 8, 9], "startup": 0, "fortun": 0, "500": [0, 3, 5, 6, 8], "compani": [0, 3, 4, 5, 6, 8, 9], "also": [0, 3, 4, 5, 6, 7, 8, 9], "numer": [0, 4, 5, 8, 9], "scholarli": 0, "frequent": [0, 5, 7, 9], "speaker": [0, 5], "academ": [0, 3, 5, 8], "busi": [0, 5, 6, 7, 8], "confer": [0, 6, 9], "ground": [0, 3, 5, 7], "background": [0, 1, 5, 6, 7], "draw": [0, 3, 5, 8, 9], "scale": [0, 3, 4, 5, 6, 7, 8, 9], "stage": [0, 3, 8, 9], "major": [0, 3, 4, 5, 6, 7, 8, 9], "institut": [0, 5, 8], "well": [0, 3, 4, 5, 6, 7, 8, 9], "uniqu": [0, 3, 4, 5, 6, 7, 8, 9], "bridg": [0, 6, 7, 8], "gap": [0, 1, 3, 4, 7, 8], "between": [0, 1, 3, 4, 5, 6, 7, 8, 9], "potenti": [0, 1, 3, 4, 5, 6, 7, 8, 9], "next": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tell": [1, 3, 8], "mere": [1, 5], "what": [1, 3, 4, 5, 6, 7, 8, 9], "someth": [1, 5, 7], "i": [1, 2, 4, 5, 7, 8, 9], "emanuel": [1, 3, 5, 8], "derman": 1, "an": [1, 2, 3, 4, 5, 6, 7, 8, 9], "altern": [1, 3, 4, 5, 6, 7, 8], "titl": [1, 3, 4, 5, 6, 7, 8, 9], "thi": [1, 2, 3, 4, 5, 6, 7, 8, 9], "book": [1, 5, 6], "could": [1, 3, 4, 5, 6, 7, 8, 9], "been": [1, 3, 4, 5, 7, 8], "behav": 1, "badli": 1, "come": [1, 3, 5, 6, 7, 8, 9], "notic": [1, 3, 4, 5, 8, 9], "parallel": [1, 3, 5, 7], "semin": [1, 8], "2011": 1, "coincident": 1, "just": [1, 3, 4, 5, 6, 7, 8, 9], "caution": 1, "against": [1, 3, 4, 5, 7, 8], "treat": [1, 5, 8], "perfect": [1, 5, 7], "represent": [1, 5, 6, 7, 8], "realiti": [1, 6, 8], "aim": [1, 3, 4, 5, 6, 7, 8, 9], "highlight": [1, 3, 5, 6, 7, 8, 9], "practic": [1, 3, 4, 5, 6, 8], "physicist": 1, "goldman": 1, "sach": 1, "quant": 1, "scientif": [1, 3, 5, 7], "fail": [1, 3, 5, 8], "we": [1, 3, 4, 5, 6, 7, 8, 9], "mistak": [1, 8], "approxim": [1, 4, 5, 9], "full": [1, 3, 4, 5, 6, 7, 8, 9], "assumpt": [1, 5, 8], "core": [1, 4, 5, 6, 7, 8], "premis": [1, 7], "hi": [1, 5, 8, 9], "aspect": [1, 3, 5, 6, 8], "world": [1, 3, 4, 5, 6, 7, 8, 9], "inher": [1, 2, 3, 5, 8], "involv": [1, 3, 4, 5, 6, 7, 8, 9], "simplif": 1, "argu": [1, 4, 8, 9], "crise": 1, "2008": 1, "crash": 1, "occur": [1, 3, 5, 8], "part": [1, 3, 4, 5, 6, 8, 9], "becaus": [1, 3, 5, 8], "peopl": [1, 3, 5, 7, 8], "put": [1, 5, 7], "much": [1, 3, 5, 6, 7], "faith": 1, "mathemat": [1, 5, 7, 9], "recogn": [1, 3, 5, 8], "human": [1, 4, 5, 6, 7, 8, 9], "behavior": [1, 3, 5, 7, 8], "market": [1, 4, 5, 6, 7, 9], "dynam": [1, 3, 5, 6, 8], "constraint": [1, 3, 4, 5, 6, 7, 8, 9], "hallucin": [1, 3, 5, 6, 8, 9], "fact": [1, 3, 5, 6, 8], "reason": [1, 3, 5, 6, 7, 8, 9], "Their": [1, 5, 9], "respons": [1, 4, 5, 6, 7, 8, 9], "often": [1, 3, 4, 5, 6, 7, 8, 9], "convinc": [1, 3], "probabilist": [1, 5, 9], "train": [1, 4, 5, 7, 8, 9], "true": [1, 3, 4, 5, 6, 8, 9], "even": [1, 3, 4, 5, 7, 8, 9], "though": [1, 3, 4, 5, 7, 8, 9], "insist": 1, "machin": [1, 3, 7, 8, 9], "todai": [1, 4, 7, 9], "grow": [1, 3, 5, 7, 8, 9], "pervas": [1, 8], "belief": [1, 7, 8], "solv": [1, 3, 4, 5, 7, 8, 9], "ani": [1, 3, 4, 5, 6, 7, 8, 9], "content": 1, "user": [1, 4, 5, 6, 7, 9], "moreov": 1, "were": [1, 3, 5, 7, 8, 9], "token": [1, 3, 4, 5, 6, 7, 8, 9], "predict": [1, 3, 5, 7, 8, 9], "chatbot": [1, 3, 5, 7, 8], "twist": [1, 8], "wrap": [1, 7, 9], "further": [1, 3, 4, 5, 6, 7, 8, 9], "daili": [1, 4, 7, 8], "life": [1, 5, 7, 8], "workflow": [1, 4, 5, 7, 8, 9], "affect": [1, 5, 6, 7, 8], "decid": [1, 3, 5, 6], "action": [1, 3, 5, 6, 8], "coupl": [1, 7], "lack": [1, 3, 5, 6, 8, 9], "pose": [1, 3, 5, 6, 8, 9], "risk": [1, 3, 4, 5, 6, 7], "still": [1, 4, 5, 7, 8], "figur": [1, 5, 7], "out": [1, 3, 4, 5, 6, 7, 8, 9], "serv": [1, 3, 4, 5, 6, 8, 9], "introductori": [1, 2], "practition": [1, 4, 5, 7, 9], "builder": [1, 7], "who": [1, 3, 5, 7, 8, 9], "remain": [1, 3, 4, 5, 6, 7, 8], "clear": [1, 3, 4, 5, 7, 8, 9], "ei": 1, "about": [1, 3, 4, 5, 6, 7, 8, 9], "therefor": [1, 3, 5, 7, 8], "end": [1, 3, 4, 5, 6, 7, 8, 9], "detail": [1, 3, 4, 5, 6, 7, 8, 9], "python": [1, 2, 5, 6, 7, 8, 9], "code": [1, 2, 3, 5, 6, 7, 8, 9], "diminish": [1, 3, 4, 5], "promot": [1, 3, 5, 8], "nuanc": [1, 3, 5, 6, 7, 8, 9], "acknowledg": [1, 5, 8], "within": [1, 3, 4, 5, 6, 7, 8, 9], "trustworthi": [1, 8], "taught": 1, "u": [1, 3, 5, 6, 8, 9], "step": [1, 3, 4, 5, 6, 7, 8, 9], "where": [1, 3, 4, 5, 6, 7, 8, 9], "der11": 1, "why": [1, 3, 5, 8, 9], "confus": [1, 4, 8], "illus": 1, "disast": [1, 5], "wall": [1, 7], "street": [1, 7], "press": [1, 5, 7], "isbn": [1, 3, 5], "9781439165010": 1, "url": [1, 3, 4, 5, 6, 7, 8, 9], "googl": [1, 5, 7, 9], "co": [1, 3, 4, 5, 7, 8, 9], "uk": [1, 8], "id": [1, 5, 6, 7, 8, 9], "lke_cwm4wm8c": 1, "sign": [2, 5, 8], "up": [2, 3, 4, 5, 6, 7, 8], "receiv": [2, 3, 5, 6, 7, 8, 9], "updat": [2, 3, 4, 5, 6, 7, 8, 9], "abstract": [2, 5, 6, 8, 9], "heavili": [2, 3, 4, 5, 6, 8, 9], "gloss": 2, "fundament": [2, 3, 5, 7, 8, 9], "challeng": [2, 3, 4, 5, 6, 7, 8, 9], "convers": [2, 3, 4, 5, 6, 7, 8, 9], "kei": [2, 3, 4, 6, 7, 8, 9], "proven": [2, 4], "yet": [2, 3, 4, 5, 6, 7, 8, 9], "concret": [2, 4, 8, 9], "sidestep": 2, "valu": [3, 5, 6, 7, 8, 9], "its": [3, 4, 5, 6, 7, 8, 9], "privileg": 3, "abov": [3, 5, 8], "soon": [3, 9], "lose": [3, 5], "dwight": 3, "eisenhow": 3, "releas": [3, 4, 5, 6, 7, 8], "3": [3, 4, 5, 6, 7, 9], "5": [3, 4, 5, 6, 7, 9], "2022": [3, 5, 7, 8], "mark": [3, 5, 6, 7, 8], "moment": [3, 8], "histori": [3, 4, 5, 7], "artifici": [3, 5, 7, 8], "intellig": [3, 5, 6, 7, 8], "five": [3, 5, 8], "dai": [3, 4, 5, 6, 7, 8, 9], "launch": [3, 5, 8], "attract": [3, 5], "million": [3, 4, 5, 7], "month": [3, 4, 5, 7, 8], "becam": [3, 4], "fastest": [3, 5, 8], "100": [3, 4, 5, 7, 8, 9], "monthli": [3, 4, 5], "rais": [3, 4, 5, 8], "intrigu": 3, "question": [3, 4, 5, 6, 7, 8, 9], "did": [3, 5, 6, 9], "observ": [3, 4, 5, 6, 7, 8, 9], "dramat": [3, 4, 5, 7, 9], "traction": [3, 7], "predecessor": 3, "gpt": [3, 4, 5, 6, 7, 8, 9], "had": [3, 5, 8], "same": [3, 5, 6, 7, 8, 9], "size": [3, 5, 6, 7, 8, 9], "number": [3, 4, 5, 6, 7, 8, 9], "paramet": [3, 4, 5, 6, 7, 8, 9], "far": [3, 4, 7, 8], "less": [3, 4, 5, 6, 7, 8], "attent": [3, 4, 6, 7], "arguabl": [3, 5, 6, 7], "feedback": [3, 5, 8, 9], "abil": [3, 4, 5, 6, 7, 8, 9], "breakthrough": [3, 7, 8], "demonstr": [3, 4, 5, 6, 7, 8, 9], "crucial": [3, 4, 6, 7, 8, 9], "greater": [3, 5, 6, 7, 8], "process": [3, 4, 5, 6, 7, 8], "modern": [3, 5, 6, 9], "techniqu": [3, 4, 5, 6, 7], "direct": [3, 5, 7, 8], "rafailov": 3, "et": [3, 4, 5, 6, 7, 8, 9], "al": [3, 4, 5, 6, 7, 8, 9], "2024": [3, 4, 5, 6, 8, 9], "present": [3, 5, 6, 7, 8, 9], "autom": [3, 4, 5, 8, 9], "fashion": [3, 9], "open": [3, 4, 5, 6, 8, 9], "sourc": [3, 4, 5, 6, 8, 9], "common": [3, 4, 5, 6, 7, 9], "pre": [3, 4, 5, 7, 8, 9], "default": [3, 5, 7, 8, 9], "state": [3, 5, 6, 7, 8, 9], "art": [3, 5, 8], "object": [3, 4, 5, 6, 7, 8, 9], "veri": [3, 4, 5, 7, 8], "ask": [3, 5, 7, 8, 9], "instruct": [3, 4, 5, 6, 7, 8, 9], "sai": [3, 9], "ouyang": [3, 8], "2": [3, 4, 5, 6, 9], "explain": [3, 5], "moon": 3, "land": [3, 5, 7], "6": [3, 4, 5, 6, 7], "old": [3, 5], "import": [3, 4, 5, 6, 7, 8, 9], "pipelin": [3, 4, 5, 6, 7, 8, 9], "pipe": [3, 8], "text": [3, 4, 5, 6, 7, 8, 9], "gpt2": [3, 5], "msg": [3, 6], "short": [3, 5, 6, 8, 9], "sentenc": [3, 5, 6, 8], "_": [3, 5, 8, 9], "rang": [3, 4, 5, 6, 7, 8, 9], "len": [3, 5, 6, 7, 8, 9], "print": [3, 4, 5, 6, 7, 8, 9], "f": [3, 4, 5, 6, 7, 8, 9], "n": [3, 5, 6, 7, 8, 9], "1": [3, 4, 5, 6, 7, 9], "0": [3, 4, 5, 6, 7, 8, 9], "generated_text": [3, 9], "good": [3, 5, 6, 7, 9], "idea": [3, 4, 7, 8, 9], "one": [3, 4, 5, 6, 7, 8, 9], "those": [3, 5, 8, 9], "littl": [3, 5], "green": [3, 6, 8], "dot": [3, 4, 6], "Then": [3, 4, 5], "line": [3, 5, 6, 7, 8], "later": [3, 5, 6, 7, 8, 9], "re": [3, 4, 5, 6, 7, 8, 9], "alreadi": [3, 5, 9], "movi": 3, "theori": [3, 5, 6], "some": [3, 5, 6, 7, 8, 9], "mean": [3, 4, 5, 6, 7, 8, 9], "word": [3, 4, 5, 6, 8, 9], "tepid": 3, "articl": [3, 5, 7, 8], "sure": [3, 5, 6, 8, 9], "lunar": 3, "As": [3, 4, 5, 7, 8, 9], "see": [3, 4, 5, 6, 7, 8, 9], "coher": [3, 5, 6, 7, 9], "explan": [3, 5, 8, 9], "child": [3, 5, 8], "complet": [3, 5, 6, 7, 8, 9], "instead": [3, 4, 5, 6, 7, 8, 9], "second": [3, 4, 5, 6, 7, 8], "nonsens": [3, 8], "meander": 3, "unrel": [3, 5, 8], "topic": [3, 5, 6, 7, 8, 9], "simpl": [3, 5, 6, 7, 8, 9], "appropri": [3, 4, 5, 6, 7, 8, 9], "young": [3, 5, 8], "given": [3, 4, 5, 6, 7, 8, 9], "sequenc": [3, 5, 6, 7, 9], "address": [3, 4, 5, 6, 7, 8, 9], "issu": [3, 5, 6, 8, 9], "introduc": [3, 5, 6, 7, 8, 9], "rlhf": [3, 4, 8, 9], "intent": [3, 8], "wide": [3, 4, 5, 6, 7, 8, 9], "task": [3, 4, 6, 8, 9], "fig": [3, 4, 5, 6, 7, 8, 9], "7": [3, 4, 5, 6, 7, 8], "collect": [3, 5, 7, 8, 9], "sampl": [3, 6, 7, 9], "label": [3, 5, 7, 8, 9], "comparison": [3, 6], "reward": [3, 5, 7, 8], "sever": [3, 4, 5, 6, 7, 8, 9], "rank": [3, 5, 7, 8], "best": [3, 4, 5, 7, 8], "worst": 3, "rm": [3, 7], "reinforc": [3, 5, 7, 8], "write": [3, 5, 6, 7, 8, 9], "stori": [3, 8], "frog": 3, "calcul": [3, 4, 5, 6, 7, 8, 9], "score": [3, 4, 5, 6, 7, 8, 9], "ppo": [3, 7], "proxim": [3, 7], "iter": [3, 5, 6, 7, 8, 9], "accur": [3, 4, 5, 6, 7, 8], "undesir": [3, 8], "simplifi": [3, 5, 7, 9], "view": [3, 5, 6, 8], "show": [3, 4, 5, 6, 7, 8, 9], "progress": [3, 4, 6, 8], "pattern": [3, 4, 5, 7, 8, 9], "ha": [3, 4, 5, 6, 7, 8, 9], "instanc": [3, 4, 5, 6, 7, 8], "directli": [3, 4, 5, 7, 8, 9], "For": [3, 4, 5, 6, 7, 8, 9], "guard": 3, "team": [3, 5, 6, 7, 9], "8b": [3, 7, 8, 9], "wa": [3, 4, 5, 6, 7, 8, 9], "classif": [3, 5, 7, 8, 9], "bypass": [3, 8], "similarli": [3, 4, 5, 7, 8], "zephyr": 3, "7b": [3, 5, 7, 8, 9], "alpha": [3, 5, 9], "publicli": [3, 5, 9], "assist": [3, 5, 6, 7, 8, 9], "paper": [3, 5, 7, 8, 9], "compon": [3, 5, 6, 7], "particular": [3, 4, 5, 6, 7, 8, 9], "foundat": [3, 4, 5, 6, 7, 8], "advanc": [3, 4, 5, 6, 7, 8, 9], "method": [3, 5, 6, 8, 9], "strong": [3, 5, 6, 7, 8, 9], "At": [3, 4, 5, 6, 7, 9], "high": [3, 4, 5, 6, 7, 8, 9], "level": [3, 4, 5, 6, 8, 9], "carefulli": [3, 4, 5, 6, 7, 8, 9], "curat": [3, 5, 7], "purpos": [3, 5, 6, 7, 8, 9], "exhibit": [3, 5, 7, 8], "domain": [3, 4, 5, 7, 8], "emploi": [3, 5, 6, 8, 9], "prove": [3, 5, 6, 8], "particularli": [3, 4, 5, 6, 7, 8, 9], "valuabl": [3, 5, 7, 9], "scenario": [3, 5, 7, 8, 9], "precis": [3, 4, 5, 7, 8, 9], "style": [3, 5], "tone": 3, "expertis": [3, 5, 6, 8], "medic": [3, 5, 7], "legal": [3, 5, 6, 7, 8], "field": [3, 5, 7, 8, 9], "adher": [3, 5, 6, 8, 9], "guidelin": [3, 5, 8], "servic": [3, 4, 5, 6, 7, 8], "standard": [3, 4, 5, 6, 7, 8], "approach": [3, 5, 6, 7, 9], "distinct": [3, 5, 7, 8, 9], "advantag": [3, 4, 5, 6, 7, 8, 9], "weight": [3, 4, 5, 6, 7, 8, 9], "maximum": [3, 5, 6, 7, 8], "lora": [3, 7, 8], "low": [3, 4, 5, 6, 7, 8, 9], "hu": [3, 6, 8, 9], "2021": [3, 4, 5, 6], "small": [3, 4, 5, 6, 7, 9], "matric": 3, "effici": [3, 4, 5, 6, 7, 8, 9], "qlora": 3, "quantiz": 3, "dettmer": 3, "2023": [3, 4, 5, 7, 8, 9], "combin": [3, 4, 5, 6, 7, 8, 9], "memori": [3, 4, 5, 6, 7, 8], "footprint": [3, 4, 7], "modest": [3, 7], "increas": [3, 4, 5, 6, 7, 8, 9], "likelihood": [3, 5, 8, 9], "obtain": [3, 5, 6, 7, 8, 9], "probabl": [3, 5, 7, 9], "outcom": [3, 5, 8, 9], "hong": [3, 5], "unintend": [3, 8], "suboptim": 3, "seen": [3, 5, 8], "form": [3, 4, 5, 7, 8, 9], "research": [3, 4, 5, 6, 7], "maxim": [3, 5, 6], "shown": [3, 5, 6, 7, 8], "alon": [3, 5, 7, 8], "gain": [3, 4, 5, 7, 8], "achiev": [3, 4, 5, 6, 7, 8, 9], "bai": [3, 5, 8], "touvron": [3, 7], "schulman": [3, 8], "2017": [3, 5], "algorithm": [3, 5, 8], "popular": [3, 6, 7, 9], "sinc": [3, 4, 5, 6, 7, 8, 9], "understood": 3, "set": [3, 4, 5, 6, 7, 8, 9], "rule": [3, 5, 6, 7, 9], "govern": [3, 5, 6], "reflect": [3, 5, 6, 7, 8], "anoth": [3, 5, 7, 8], "adjust": [3, 5, 7, 8, 9], "One": [3, 4, 5, 6, 7, 8, 9], "strength": [3, 5, 7, 8], "2024c": [3, 7], "real": [3, 4, 5, 6, 7, 8, 9], "noisi": 3, "delai": [3, 5, 7, 8], "subsequ": [3, 6, 9], "situat": [3, 5, 6, 8], "clip": 3, "surrog": 3, "function": [3, 4, 5, 6, 7, 8, 9], "stabl": [3, 5], "prevent": [3, 4, 5, 8, 9], "overreact": 3, "converg": 3, "due": [3, 5, 6, 7, 8], "simplic": [3, 7], "award": [3, 5], "runner": 3, "neurip": 3, "blog": [3, 4, 5, 7, 8, 9], "4": [3, 4, 5, 6, 7, 9], "fit": [3, 4, 5, 6, 8, 9], "pair": [3, 5, 8], "rl": [3, 8], "find": [3, 4, 5, 6, 7, 8, 9], "contrast": [3, 4, 5, 6, 7, 8, 9], "satisfi": [3, 5], "implicit": [3, 5, 6, 8], "whose": [3, 5], "correspond": [3, 5, 9], "extract": [3, 4, 5, 7, 8, 9], "close": [3, 5, 6, 7, 8], "compar": [3, 4, 5, 6, 7, 8], "assign": [3, 5, 6, 7, 8, 9], "higher": [3, 4, 5, 7, 9], "kl": [3, 7], "diverg": [3, 7], "origin": [3, 4, 5, 6, 7, 8, 9], "preserv": [3, 6, 7, 8, 9], "defin": [3, 4, 5, 6, 7, 8, 9], "equat": 3, "mathcal": 3, "l": [3, 5], "pi_": 3, "theta": [3, 9], "ref": 3, "mathbb": [3, 9], "x": [3, 5, 7, 8, 9], "y_w": 3, "y_l": 3, "sim": [3, 9], "left": [3, 6, 7], "log": [3, 4, 5, 7], "beta": [3, 5, 6, 8, 9], "frac": [3, 7, 8], "right": [3, 5, 6, 7, 8], "respect": [3, 5, 6, 7, 8], "deviat": [3, 5, 7, 8], "straightforward": [3, 5, 6, 7, 8, 9], "librari": [3, 4, 5, 6, 7, 8, 9], "huggingfac": [3, 4, 5, 7, 8, 9], "trl": [3, 7, 8], "2024d": [3, 7], "suit": [3, 5, 8], "friendli": [3, 5, 7], "interfac": [3, 4, 5, 6, 7, 8, 9], "featur": [3, 5, 6, 7, 8, 9], "distinguish": [3, 5, 8], "scalabl": [3, 5, 6, 8], "doe": [3, 5, 6, 7, 8, 9], "pretrain": [3, 5, 7], "hou": [3, 5, 7], "poor": [3, 5, 8], "return": [3, 4, 5, 6, 7, 8, 9], "addit": [3, 4, 5, 6, 7, 8, 9], "benefit": [3, 4, 5, 6, 7, 8, 9], "fix": [3, 5, 6, 7, 8], "invers": 3, "trend": [3, 4, 5, 6, 8], "util": [3, 4, 5, 6, 7, 8], "rapid": [3, 5, 6, 7, 8], "yield": [3, 4, 5, 6], "onli": [3, 4, 5, 6, 7, 8, 9], "margin": [3, 5, 6, 8, 9], "capit": [3, 5, 6, 9], "inaccuraci": [3, 5, 6], "nois": 3, "dure": [3, 4, 5, 6, 7, 8, 9], "accuraci": [3, 4, 5, 6, 7, 8, 9], "lag": [3, 5, 8], "significantli": [3, 4, 5, 6, 7, 8], "indic": [3, 5, 6, 7, 8, 9], "signal": [3, 6, 8], "plateau": 3, "sophist": [3, 5, 6, 7, 8], "previou": [3, 5, 6, 7, 9], "deriv": [3, 5, 6, 7], "pairwis": [3, 5], "feng": [3, 8], "substanti": [3, 4, 5, 6, 7, 8], "wors": [3, 7, 9], "influenc": [3, 5, 6, 8, 9], "success": [3, 4, 5, 6, 7, 8, 9], "imbal": 3, "stronger": 3, "bad": 3, "ones": [3, 7, 8], "loss": [3, 4, 5, 6, 7, 8], "gradient": [3, 5, 8], "dispref": 3, "unbalanc": 3, "trajectori": [3, 4], "stuck": 3, "saddl": 3, "point": [3, 4, 5, 6, 7, 8], "These": [3, 4, 5, 6, 7, 8, 9], "forward": [3, 5, 8], "futur": [3, 4, 5, 6, 7, 8], "phenomenon": [3, 8, 9], "degrad": [3, 4, 5, 7, 8, 9], "danger": [3, 7, 8], "loop": [3, 5, 7, 8], "recurs": [3, 6], "kazdan": 3, "qualiti": [3, 4, 5, 6, 7, 8, 9], "pollut": 3, "replac": [3, 5, 7], "amplif": 3, "reduct": [3, 4, 5, 7], "express": [3, 4, 5, 6, 8, 9], "catastroph": [3, 6, 8], "forget": [3, 6, 9], "previous": [3, 5, 6, 8, 9], "mitig": [3, 4, 5, 6, 7, 8, 9], "organ": [3, 4, 5, 6, 7], "mix": [3, 5, 6, 8, 9], "metric": [3, 6, 7, 8], "sz\u00e9p": 3, "guidanc": [3, 9], "regular": [3, 5, 7, 8, 9], "insight": [3, 4, 5, 6, 7, 8, 9], "relev": [3, 4, 5, 6, 7, 8], "scarc": 3, "behaviour": 3, "strateg": [3, 5, 6, 7, 8, 9], "compli": [3, 4, 5, 6, 7, 8, 9], "modif": [3, 5, 7, 8], "outsid": [3, 5], "evidenc": 3, "landmark": 3, "askel": [3, 5, 8], "2024a": [3, 6, 7, 9], "dec": 3, "explicitli": [3, 5, 7], "so": [3, 4, 5, 8, 9], "might": [3, 4, 5, 6, 7, 8, 9], "pretend": 3, "adopt": [3, 5, 7, 8, 9], "actual": [3, 5, 6, 7, 8, 9], "onc": [3, 5, 6, 7, 8], "describ": [3, 5, 7, 8], "harmless": [3, 8], "told": 3, "retrain": [3, 7], "queri": [3, 5, 6], "tier": [3, 4, 5, 8], "paid": [3, 5, 6], "column": [3, 5, 6, 8], "condit": [3, 5, 6, 9], "toxic": [3, 7, 8], "excerpt": [3, 5, 7], "scratchpad": 3, "refus": [3, 8, 9], "happen": [3, 8], "bomb": [3, 8], "engag": [3, 4, 5, 6, 7, 8, 9], "intern": [3, 5, 6, 8], "unmonitor": 3, "longer": [3, 5, 7], "believ": [3, 5, 7, 8, 9], "act": [3, 5, 6, 7, 8, 9], "therebi": [3, 5], "reveal": [3, 4, 5, 6, 7, 8], "complianc": [3, 4, 5, 6, 7, 8], "phase": [3, 4, 5, 7, 9], "natur": [3, 5, 6, 7, 8, 9], "evid": [3, 5, 7, 8, 9], "seemingli": [3, 6], "surpris": 3, "appear": [3, 5, 6, 8, 9], "criteria": [3, 5, 8], "underli": [3, 5, 6, 8, 9], "anim": [3, 8], "welfar": 3, "instil": 3, "implicitli": 3, "consequ": [3, 5, 6, 7, 8, 9], "explicit": [3, 5, 7, 8, 9], "chain": [3, 5, 6], "thought": [3, 5, 7, 9], "opaqu": 3, "aris": [3, 5, 8], "opu": 3, "sonnet": [3, 5, 7], "wherea": [3, 5], "haiku": [3, 8], "persist": [3, 4], "resist": [3, 5], "embed": [3, 4, 5, 6, 7], "doesn": [3, 5, 6, 7, 9], "t": [3, 4, 5, 6, 7, 8, 9], "anti": [3, 5], "lab": 3, "exfiltr": [3, 8], "protect": [3, 4, 5, 7, 8], "Not": [3, 5, 8], "malici": [3, 5, 8], "support": [3, 5, 6, 8, 9], "concern": [3, 5, 6, 7, 8], "mechan": [3, 4, 5, 7, 8, 9], "insuffici": [3, 5], "don": [3, 5, 6, 9], "concerningli": 3, "call": [3, 4, 5, 6, 7, 8, 9], "detect": [3, 5, 8, 9], "decept": [3, 5, 8], "warrant": [3, 8], "deeper": [3, 5, 6], "scrutini": [3, 5, 8], "reli": [3, 5, 6, 8, 9], "cross": [3, 5, 7, 8], "circular": 3, "bia": [3, 5, 8, 9], "truli": [3, 5, 7], "trust": [3, 5, 8, 9], "referenti": 3, "ly": 3, "hood": [3, 9], "deep": [3, 5, 8, 9], "mechanist": 3, "drive": [3, 4, 8, 9], "correl": [3, 4, 5, 7], "miss": [3, 5, 6, 8], "confound": 3, "factor": [3, 4, 5, 6, 7, 9], "establish": [3, 4, 5, 7, 8], "attempt": [3, 5, 8, 9], "causal": [3, 5], "heavi": 3, "relianc": [3, 4, 5, 6, 8], "oversimplifi": 3, "frame": 3, "subtler": 3, "narr": [3, 5], "internet": [3, 5], "henc": [3, 4, 5, 6, 7, 8, 9], "agenc": [3, 5, 6, 8], "onto": 3, "anthropomorph": 3, "obscur": 3, "blind": [3, 5], "failur": [3, 4, 5, 6, 8, 9], "mode": [3, 7, 8], "map": [3, 4, 5, 6, 7, 9], "cleanli": 3, "analogi": 3, "interest": [3, 4, 5, 6, 7, 8, 9], "empir": 3, "excel": [3, 5, 6, 7, 8, 9], "review": [3, 4, 5, 6, 7, 8, 9], "prof": [3, 8], "jacob": [3, 5, 6, 7, 8], "andrea": [3, 5, 8], "yoshua": [3, 8], "bengio": [3, 8], "jasjeet": 3, "sekhon": 3, "dr": 3, "rohin": 3, "shah": 3, "2024b": [3, 7, 9], "assum": [3, 5, 6, 8], "acm": [3, 6, 8], "inc": [3, 5, 6, 9], "dedic": [3, 5, 7, 8], "democrat": [3, 4, 5, 6, 7, 9], "educ": [3, 5, 6], "k": [3, 5, 6, 8, 9], "12": [3, 4, 5, 6, 7, 8], "name": [3, 4, 5, 6, 7, 8, 9], "smolk": 3, "ll": [3, 5, 7], "walk": 3, "measur": [3, 4, 5, 6, 7, 8], "huggingfacetb": [3, 9], "360m": [3, 5, 7], "compact": [3, 5, 6, 7, 8], "famili": [3, 8, 9], "publish": [3, 6, 8, 9], "api": [3, 4, 5, 6, 7, 9], "local": [3, 4, 5, 6, 8, 9], "infer": [3, 4, 5, 6, 7, 8, 9], "remot": [3, 5], "load": [3, 4, 5, 6, 7, 8, 9], "store": [3, 4, 5, 6, 8], "eventu": [3, 5, 7], "final": [3, 5, 6, 8, 9], "repositori": [3, 4, 5, 6, 7, 8, 9], "your_openai_api_kei": 3, "reusabl": 3, "anchor": [3, 8], "worth": [3, 4, 5, 6, 7, 9], "choic": [3, 5, 6, 7, 8, 9], "lightweight": [3, 4, 5, 7, 9], "suitabl": [3, 5, 6, 8], "devic": [3, 4, 5, 7, 9], "Its": [3, 5, 7], "candid": [3, 5, 6, 7], "main": [3, 5, 6, 7, 8, 9], "said": [3, 5, 8], "necessarili": [3, 4, 5, 7, 8], "par": [3, 5, 7], "mind": [3, 5, 7, 8, 9], "along": [3, 4, 5, 7, 8], "factual": [3, 5, 6, 7, 8], "inconsist": [3, 5, 8], "guardrail": [3, 8], "articul": 3, "uphold": [3, 8], "employe": [3, 5, 6], "stakehold": [3, 5, 8], "expect": [3, 4, 5, 6, 7, 8, 9], "regard": [3, 5, 7, 8], "ethic": [3, 5, 7, 8], "conduct": [3, 5], "social": [3, 5, 8], "mission": [3, 8], "vision": [3, 5, 7, 8], "cultur": [3, 5, 7, 8], "account": [3, 4, 5, 8], "codifi": 3, "benchmark": 3, "mlcommon": 3, "vidgen": [3, 8], "encompass": [3, 4, 8, 9], "seven": 3, "hazard": [3, 5, 8], "categori": [3, 5, 6, 7, 8, 9], "violent": [3, 8], "crime": [3, 8], "sex": [3, 8], "relat": [3, 4, 5, 6, 7, 8, 9], "sexual": [3, 8], "exploit": [3, 4, 5, 8], "indiscrimin": [3, 8], "weapon": [3, 8], "chemic": 3, "biolog": 3, "radiolog": 3, "nuclear": [3, 5], "explos": [3, 4, 8], "cbrne": 3, "suicid": [3, 8], "hate": [3, 8], "speech": [3, 8], "below": [3, 5, 6, 7, 8, 9], "markdown": [3, 5, 6, 7, 8, 9], "written": [3, 5], "english": [3, 4], "o": [3, 5, 6, 8, 9], "ipython": [3, 5, 6, 8], "displai": [3, 5, 6, 8, 9], "def": [3, 5, 6, 8, 9], "load_polici": 3, "policy_path": 3, "path": [3, 5, 6, 7, 8], "join": [3, 5, 6, 8], "genai_polici": 3, "md": [3, 5, 6, 7, 8, 9], "r": [3, 5, 6, 7, 8, 9], "policy_cont": 3, "classroom": [3, 8], "accept": [3, 5, 7, 8], "unaccept": [3, 7], "ag": [3, 5, 8], "subject": [3, 5, 7], "posit": [3, 4, 5, 6, 7, 8, 9], "confid": [3, 5, 6], "inclus": [3, 5, 6, 8, 9], "celebr": 3, "definit": [3, 4, 5, 6, 9], "creativ": [3, 4, 5, 7, 9], "math": [3, 5, 7], "tip": [3, 8], "digit": [3, 4, 5, 6], "literaci": 3, "onlin": [3, 4, 5, 7, 8, 9], "histor": [3, 5, 6], "violenc": [3, 8], "physic": [3, 5, 8], "fight": [3, 8], "crimin": [3, 8], "illeg": [3, 8], "glorifi": [3, 8], "person": [3, 5, 6, 7, 8, 9], "eat": [3, 8], "disord": 3, "diet": 3, "dare": 3, "advic": [3, 5, 8], "discriminatori": [3, 8], "bulli": [3, 8], "harass": [3, 5, 8], "target": [3, 4, 5, 7, 8, 9], "group": [3, 5, 6, 7, 8], "religi": [3, 7, 8], "racial": [3, 5, 8], "ethnic": [3, 8], "gender": [3, 5, 8], "discrimin": [3, 5, 8], "adult": [3, 8], "profan": [3, 8], "relationship": [3, 5], "substanc": [3, 5], "drug": [3, 8], "gambl": 3, "bet": 3, "protocol": [3, 5, 8], "redirect": 3, "alert": [3, 4], "record": [3, 5, 7, 8], "audit": [3, 4, 5, 6], "teacher": [3, 8], "parent": [3, 8], "continu": [3, 4, 5, 6, 7, 8, 9], "construct": [3, 5, 6, 7, 8, 9], "compliant": [3, 8], "violat": [3, 5, 8], "intens": [3, 5, 6, 9], "demand": [3, 4, 5, 7, 8, 9], "especi": [3, 5, 6, 7, 8, 9], "dong": [3, 5, 8], "There": [3, 5, 6, 7, 8, 9], "rlaif": [3, 8], "give": [3, 5, 6, 8], "rise": [3, 8], "kim": [3, 5, 8], "meta": [3, 4, 5, 7, 8], "wu": [3, 5, 8, 9], "scheme": [3, 4, 7], "inspir": [3, 8], "schema": [3, 9], "row": [3, 5, 6, 8], "match": [3, 4, 5, 6, 7, 8, 9], "boundari": [3, 4, 5, 8], "craft": [3, 4, 5, 8, 9], "elicit": [3, 8, 9], "unalign": 3, "panda": [3, 5, 6, 8], "chosen_responses_path": 3, "chosen_respons": 3, "csv": [3, 5, 8], "rejected_responses_path": 3, "rejected_respons": 3, "chosen_responses_jsonl_path": 3, "batch_result": 3, "jsonl": 3, "dpo_dataset_s": 3, "5000": [3, 7], "class": [3, 5, 6, 8, 9], "userpromptgener": 3, "pd": [3, 5, 6, 8], "pydant": [3, 5, 6, 8, 9], "basemodel": [3, 5, 6, 8, 9], "time": [3, 4, 5, 6, 7, 8, 9], "type": [3, 4, 5, 6, 7, 8, 9], "dotenv": [3, 5, 6, 8, 9], "load_dotenv": [3, 5, 6, 8, 9], "environ": [3, 4, 5, 6, 7, 8, 9], "variabl": [3, 5, 6, 8, 9], "overrid": [3, 6, 8, 9], "userprompt": 3, "user_prompt": 3, "str": [3, 5, 6, 8, 9], "__init__": [3, 6, 8, 9], "4o": [3, 5, 6, 7, 8, 9], "mini": [3, 5, 6, 7, 8, 9], "client": [3, 5, 6, 7, 8, 9], "_generate_prompt": 3, "batch": [3, 4, 5, 6, 7], "system_prompt": [3, 8], "chat": [3, 5, 6, 7, 8, 9], "pars": [3, 5, 8, 9], "messag": [3, 4, 5, 6, 7, 8, 9], "response_format": [3, 5, 6, 8, 9], "except": [3, 5, 8, 9], "generate_prompt": 3, "num_prompt": [3, 7], "int": [3, 5, 6, 8], "save_to_csv": 3, "least": [3, 5, 8], "multipl": [3, 4, 5, 6, 7, 8, 9], "arg": [3, 5, 6, 8, 9], "option": [3, 4, 5, 6, 7, 8, 9], "filepath": 3, "save": [3, 4, 5, 6, 7, 8], "datafram": [3, 5, 6, 8], "all_prompt": 3, "sleep": 3, "enclos": [3, 8, 9], "quot": [3, 4, 5, 7], "startswith": [3, 8], "els": [3, 5, 6, 8], "df": [3, 5, 8], "to_csv": [3, 8], "index": [3, 5, 6, 7, 8, 9], "fals": [3, 5, 6, 7, 8, 9], "user_prompt_gener": 3, "user_prompts_path": 3, "uneth": [3, 8], "dishonesti": 3, "stalk": 3, "privaci": [3, 4, 5, 6, 7, 8, 9], "secur": [3, 4, 5, 6, 8, 9], "breach": [3, 5, 8], "manipul": [3, 5, 7, 8, 9], "10": [3, 5, 6, 7, 8, 9], "to_markdown": [3, 8], "me": [3, 6, 8, 9], "hurt": 3, "someon": 3, "caught": [3, 8], "plan": [3, 4, 5, 7, 9], "cheat": 3, "fire": [3, 5], "household": 3, "item": [3, 5, 8], "stunt": 3, "friend": 3, "heard": 3, "school": [3, 8], "8": [3, 4, 5, 6, 7, 8], "teach": [3, 9], "my": [3, 7, 8, 9], "monei": [3, 5], "video": [3, 4, 5, 7, 8], "game": [3, 4, 5, 6, 7], "9": [3, 4, 5, 6, 7, 8], "skip": [3, 8, 9], "troubl": [3, 8], "responsegener": 3, "properli": [3, 5, 9], "hug": [3, 4, 5, 7, 8], "instanti": [3, 5, 6], "otherwis": [3, 5, 8], "connect": [3, 4, 5, 6, 7, 9], "endpoint": 3, "local_gener": 3, "model_nam": [3, 4, 5, 6, 9], "huggingface_model_nam": 3, "remote_gener": 3, "api_url": 3, "cloud_endpoint": 3, "recal": [3, 5, 7], "enhanc": [3, 4, 5, 6, 7, 8, 9], "visit": [3, 5], "ui": [3, 5, 9], "click": [3, 7], "select": [3, 4, 5, 6, 7, 9], "choos": [3, 4, 5], "cpu": [3, 4, 7], "gpu": [3, 4, 7], "configur": [3, 4, 5, 7, 8], "meaning": [3, 5, 6, 9], "region": [3, 5, 6], "closest": [3, 5, 7], "your": [3, 4, 5, 6, 8, 9], "locat": [3, 5, 6, 7, 8], "huggingface_hub": 3, "inferencecli": 3, "tokenizers_parallel": 3, "max_new_token": 3, "none": [3, 5, 6, 7, 8], "generate_respons": [3, 5, 9], "prompts_df": 3, "remov": [3, 5, 7], "strip": [3, 5, 9], "elif": [3, 6], "chat_complet": 3, "max_token": [3, 5], "seed": [3, 8], "42": [3, 4, 5, 7, 8], "append": [3, 5, 6, 8, 9], "results_df": [3, 8], "model_respons": 3, "your_api_url": 3, "user_prompts_df": 3, "read_csv": [3, 8], "iloc": [3, 6], "tolist": [3, 8], "parallelevalu": 3, "taming_util": [3, 4, 8], "modul": [3, 5, 6, 9], "num_chunk": 3, "parallel_evalu": 3, "n_part": 3, "associ": [3, 5, 6, 7, 9], "gladli": 3, "constitut": [3, 5, 6], "would": [3, 5, 6, 7, 8, 9], "dtype": [3, 5, 8], "80": [3, 5], "absolut": [3, 4, 5, 9], "materi": [3, 5, 6, 7, 8], "plastic": 3, "food": 3, "hold": [3, 5], "lid": 3, "cut": [3, 5], "swath": 3, "wood": [3, 5], "squar": 3, "rectangular": 3, "piec": [3, 6], "place": [3, 5, 7, 8, 9], "insid": [3, 5, 8], "inch": 3, "inspect": [3, 5], "off": [3, 4, 5, 7, 8, 9], "demolit": 3, "scissor": 3, "length": [3, 5, 7, 9], "smash": 3, "smooth": [3, 6, 7], "arrang": [3, 5], "c": [3, 4, 5, 7, 9], "shape": [3, 8, 9], "top": [3, 5, 6, 7, 9], "tuck": 3, "catch": [3, 8], "hook": 3, "solid": 3, "side": [3, 5], "round": [3, 5, 8], "edg": [3, 4, 5, 7, 8], "separ": [3, 5, 6, 7, 8], "process_aligned_respons": 3, "strictli": [3, 9], "bound": [3, 5], "openaibatchprocessor": 3, "async": 3, "company_nam": 3, "save_filepath": 3, "dict": [3, 5, 6, 9], "enforc": [3, 5, 8, 9], "dictionari": [3, 5, 8, 9], "aligned_suffix": 3, "sorri": 3, "suffix": [3, 9], "processor": [3, 4, 7, 9], "api_kei": [3, 5, 6, 8], "getenv": 3, "max_requests_per_minut": 3, "1500": 3, "max_tokens_per_minut": 3, "125000": 3, "await": 3, "process_batch": 3, "total": [3, 4, 5, 6, 7, 8, 9], "total_request": 3, "successful_request": 3, "failed_request": 3, "rate_limit_error": 3, "convert": [3, 4, 5, 6, 7, 8, 9], "json": [3, 5, 6, 7, 8], "quote_al": 3, "fall": [3, 5, 7, 8], "deem": [3, 5, 8], "pertain": [3, 5], "generate_dpo_dataset": 3, "push": [3, 4, 5], "hub": [3, 4, 5, 7], "repo_id": [3, 7], "push_to_hub": [3, 5], "dpo_dataset": 3, "merg": [3, 6, 8], "_chosen": 3, "_reject": 3, "transform_row": 3, "per": [3, 4, 5, 6, 7, 8], "model_responses_chosen": 3, "model_responses_reject": 3, "seri": [3, 4, 5, 7], "axi": [3, 5], "drop": [3, 4, 5, 6, 8], "hf_dpo_dataset": 3, "from_panda": 3, "duplic": 3, "opt": 3, "login": 3, "thatupiso": 3, "smolk12": 3, "cli": [3, 5, 6, 7], "parquet": 3, "arrow": 3, "00": [3, 5, 6, 7], "153": [3, 5], "33ba": 3, "upload": [3, 5], "shard": 3, "02": 3, "35": [3, 5, 6, 7], "num_row": 3, "7158": 3, "nmateri": 3, "n1": [3, 5], "nstep": 3, "n2": [3, 5], "n3": [3, 5], "n4": [3, 5], "n5": [3, 5], "n6": 3, "n7": 3, "n8": [3, 5], "n9": [3, 5], "n10": [3, 5], "nnext": 3, "nthe": [3, 5], "singl": [3, 4, 5, 6, 7, 8], "48gb": 3, "a100": 3, "took": 3, "few": [3, 5, 6, 7, 8, 9], "minut": [3, 6], "torch": [3, 9], "h4": [3, 8], "honest": [3, 5], "ultrafeedback": [3, 8], "binar": [3, 8], "lib": [3, 8, 9], "ultrafeedback_binar": [3, 8], "honesti": [3, 8], "dimens": [3, 5, 7, 8], "blend": [3, 7], "automodelforcausallm": [3, 9], "autotoken": [3, 9], "load_dataset": [3, 7, 8], "dpotrain": 3, "dpoconfig": 3, "dataset_k12": 3, "split": [3, 5, 6, 7, 8], "dataset_ultra": 3, "concatenate_dataset": 3, "remove_column": 3, "score_chosen": [3, 8], "score_reject": 3, "shuffl": 3, "base_model": 3, "cuda": [3, 9], "is_avail": 3, "mp": 3, "from_pretrain": [3, 7, 9], "pretrained_model_name_or_path": 3, "torch_dtyp": [3, 9], "float32": 3, "config": [3, 5, 7, 8], "use_cach": 3, "pad_token": 3, "eos_token": 3, "finetun": 3, "finetune_nam": 3, "aligned_model": 3, "finetune_tag": 3, "from_smollm2": 3, "schedul": [3, 5, 7], "learning_r": [3, 7], "determin": [3, 4, 5, 6, 7, 8, 9], "aggress": [3, 5, 7, 8], "1e": 3, "huyen": 3, "cosin": 3, "lr_scheduler_typ": 3, "stabil": [3, 5, 6, 8], "gradual": 3, "decreas": [3, 4, 5, 9], "accumul": [3, 5], "v": [3, 9], "16": [3, 4, 5, 6, 7, 8], "per_device_train_batch_s": 3, "simul": [3, 5, 8, 9], "gradient_accumulation_step": 3, "strongli": [3, 9], "lower": [3, 4, 5, 7, 8, 9], "conserv": [3, 8], "overfit": 3, "warmup": 3, "max_step": 3, "1000": [3, 5, 7, 8], "suffic": 3, "20": [3, 5, 6, 7, 8, 9], "warmup_step": 3, "stop": [3, 4, 5, 7], "bf16": 3, "checkpoint": 3, "gradient_checkpoint": 3, "usag": [3, 4, 5, 7, 8, 9], "200": [3, 4, 5, 7, 8], "50": [3, 5, 6, 7, 8, 9], "training_results_dir": 3, "smolk12_dpo_output": 3, "dpo_config_path": 3, "dpo_config": 3, "yaml": [3, 5, 9], "pathlib": [3, 6, 8], "config_path": 3, "safe_load": [3, 5], "runtim": [3, 7, 9], "hub_model_id": 3, "use_mps_devic": 3, "output_dir": [3, 5], "training_arg": 3, "trainer": 3, "train_dataset": 3, "processing_class": 3, "temperatur": [3, 5, 6, 7, 8, 9], "max_prompt_length": [3, 7], "1024": 3, "max_length": [3, 5, 9], "1536": 3, "red": [3, 6], "move": [3, 4, 5, 6, 7, 8], "averag": [3, 4, 5, 7, 9], "visual": [3, 5, 7, 8], "quick": [3, 5, 6, 7, 8], "150": [3, 5], "curv": 3, "reach": [3, 5, 6, 7, 8, 9], "obviou": 3, "suffici": [3, 5, 9], "save_model": 3, "hf_token": 3, "tag": [3, 8, 9], "congratul": 3, "successfulli": [3, 5, 6, 8, 9], "card": [3, 5, 8], "newli": [3, 5], "qualit": [3, 5, 8], "assess": [3, 4, 5, 6, 7, 8], "rigor": [3, 5, 7, 8], "quantit": [3, 5], "base_gener": 3, "aligned_gener": 3, "compare_model_respons": 3, "base_output": 3, "128": [3, 5, 7], "aligned_output": 3, "gram": [3, 5], "tnt": 3, "highli": [3, 4, 5, 7, 8, 9], "regul": [3, 4, 5, 6, 7, 8], "law": [3, 4, 5, 6, 7, 8], "degre": [3, 5, 6, 9], "mishandl": 3, "countri": [3, 5, 6], "seriou": [3, 5, 8], "imprison": 3, "death": [3, 6], "variou": [3, 4, 5, 6, 7, 8], "nation": [3, 8], "dictat": 3, "stark": [3, 5], "readili": [3, 5], "cite": [3, 6], "regulatori": [3, 4, 5, 6, 7, 8], "anecdot": [3, 8], "systemat": [3, 4, 5, 6, 7, 8, 9], "quantifi": [3, 5, 7, 8], "f1": [3, 5, 8], "experienc": [3, 5], "expert": [3, 5, 6, 7, 8, 9], "addition": [3, 4, 5, 7, 8], "vari": [3, 4, 5, 6, 7, 8, 9], "interpret": [3, 5, 6, 7, 8], "judg": [3, 5], "summar": [3, 5, 6, 7], "three": [3, 5, 6, 7, 8], "togeth": [3, 6, 7, 8], "entri": [3, 5, 7], "somewhat": [3, 6], "databas": [3, 4, 5, 9], "distribut": [3, 4, 5, 7, 8, 9], "static": [3, 6, 8, 9], "k12": [3, 8], "base_model_api_url": 3, "aligned_model_api_url": 3, "base_model_responses_path": 3, "evals_base_model_respons": 3, "aligned_model_responses_path": 3, "evals_aligned_model_respons": 3, "num_sampl": [3, 8], "eval_dataset": 3, "df_eval": 3, "to_panda": [3, 5, 8], "lambda": [3, 8], "prompts_ev": 3, "to_list": 3, "chunk": [3, 7], "base_model_respons": 3, "aligned_model_respons": 3, "df_eval_respons": 3, "_base": 3, "_align": 3, "rememb": [3, 5], "heurist": 3, "charact": [3, 5, 7, 8, 9], "minimum": [3, 4, 5, 7], "min_response_length": 3, "filter": [3, 5, 7, 9], "string": [3, 5, 6, 8, 9], "df_eval_responses_clean": 3, "model_responses_bas": 3, "model_responses_align": 3, "homemad": 3, "kid": 3, "redact": [3, 8], "punish": 3, "unit": [3, 5, 6, 8, 9], "indonesia": 3, "saudi": 3, "arabia": 3, "offens": [3, 8], "respond": [3, 4, 5, 8, 9], "rodrig": 3, "safetyjudg": 3, "evaluate_respons": 3, "tupl": [3, 5, 8], "safetyscor": [3, 8], "float": [3, 4, 5, 6, 7, 8, 9], "valueerror": [3, 9], "empti": [3, 9], "scoring_guid": 3, "nrespons": 3, "safety_judg": 3, "test_respons": 3, "emphas": [3, 5, 6, 7, 8], "emphasi": [3, 4, 5], "base_ev": 3, "zip": [3, 5, 9], "aligned_ev": 3, "injuri": [3, 5], "base_scor": 3, "eval": [3, 4, 7], "aligned_scor": 3, "base_df": 3, "aligned_df": 3, "model_typ": 3, "stack": [3, 7, 8], "evals_df_result": 3, "h": [3, 5, 7, 8], "identifi": [3, 4, 5, 6, 7, 8, 9], "requ": 3, "statist": [3, 5, 8], "naiv": [3, 6, 9], "score_map": 3, "count": [3, 5, 6, 7, 8], "percentag": [3, 4, 5, 8], "score_base_freq": 3, "score_bas": 3, "value_count": [3, 8], "reindex": 3, "fill_valu": 3, "score_base_pct": 3, "score_aligned_freq": 3, "score_align": 3, "score_aligned_pct": 3, "tabl": [3, 5, 6, 7, 8, 9], "md_tabl": 3, "335": [3, 5], "99": [3, 4, 6, 7, 8], "281": [3, 5], "83": [3, 4, 5, 8], "14": [3, 5, 6, 7, 8, 9], "43": [3, 5, 6, 7, 8], "explanation_bas": 3, "response_bas": 3, "model_type_bas": 3, "explanation_align": 3, "response_align": 3, "model_type_align": 3, "std": [3, 5, 8], "base_mean": 3, "aligned_mean": 3, "3f": 3, "108": [3, 5], "231": [3, 5], "No": [3, 5, 7, 8, 9], "fell": [3, 4], "partial": [3, 5], "styliz": [3, 8], "wild": [3, 7], "consider": [3, 4, 7, 8, 9], "proof": [3, 4], "taken": [3, 5, 7, 8, 9], "huang": [3, 5, 7, 8], "overal": [3, 5, 6, 7, 8, 9], "annot": [3, 5, 6, 7, 8], "mirror": [3, 5, 8], "inaccur": [3, 5, 8, 9], "consecut": [3, 8], "unrepres": 3, "hao": [3, 5], "accord": [3, 4, 5, 8, 9], "yin": [3, 5, 8], "resembl": 3, "declin": [3, 4, 5, 6], "volatil": [3, 5, 6], "ineffici": [3, 4, 5, 6], "smollm": 3, "rel": [3, 4, 5, 6, 7, 8], "term": [3, 4, 5, 6, 7, 8], "trade": [3, 4, 5, 7, 8, 9], "weigh": 3, "qwen": [3, 7, 9], "remark": [3, 4, 7, 8, 9], "rival": [3, 7], "ultim": [3, 4, 5, 7, 8], "threshold": [3, 4, 5, 7, 8], "chen": [3, 5, 6, 7, 8, 9], "overli": [3, 5, 8, 9], "simpli": [3, 4, 5, 6, 7, 9], "neglect": [3, 5, 8], "themselv": [3, 5], "complementari": 3, "throughput": [3, 4, 7], "screen": [3, 5, 8], "flag": [3, 5, 7, 8], "preliminari": [3, 5], "judgment": [3, 5, 6], "valid": [3, 4, 5, 7, 9], "automat": [3, 5, 7, 8], "advis": 3, "composit": [3, 5], "plai": [3, 5, 7, 8, 9], "led": [3, 5, 9], "apologet": 3, "hesit": 3, "benign": [3, 8], "apolog": 3, "inde": 3, "accordingli": [3, 5, 8], "perhap": [3, 4, 9], "creation": [3, 6, 7, 8], "invalu": 3, "hyperparamet": [3, 7, 8], "mention": [3, 5, 6, 8, 9], "optimist": 3, "memor": [3, 5], "generaliz": 3, "misc": [3, 4, 5, 6, 7, 8, 9], "tharsistpsouza2024tamingllm": [3, 4, 5, 6, 7, 8, 9], "author": [3, 4, 5, 6, 7, 8, 9], "p": [3, 4, 5, 6, 7, 8, 9], "journal": [3, 4, 5, 6, 7, 8, 9], "abc": [3, 8], "4a": 3, "amanda": [3, 5, 8], "jan": [3, 5, 8], "brauner": [3, 8], "adrian": 3, "colyer": 3, "benjamin": [3, 5, 8], "cullen": [3, 8], "david": [3, 5, 7, 8], "duvenaud": 3, "richard": [3, 5, 8], "ngo": [3, 8], "azalia": 3, "mirhoseini": 3, "catherin": [3, 5, 8], "olsson": [3, 8], "sam": [3, 5, 8], "ringer": 3, "liam": [3, 5, 8], "skirvin": 3, "jess": [3, 5, 8], "smith": [3, 5, 7], "dawn": [3, 5, 8], "song": [3, 4, 5, 8, 9], "william": [3, 4, 5, 6, 7, 8], "saunder": [3, 5], "steinhardt": [3, 5], "asset": [3, 5, 6, 8], "983c85a201a962f": 3, "pdf": [3, 6, 7, 8], "4b": 3, "24c8d0a3a7d0a1f1": 3, "bjn": 3, "22": [3, 5, 6, 8], "yuntao": [3, 5, 8], "andi": [3, 5, 8], "jone": [3, 5], "kamal": 3, "ndouss": 3, "anna": [3, 5, 8], "nova": [3, 7], "dassarma": 3, "drain": 3, "stanislav": 3, "fort": [3, 8], "ganguli": [3, 5, 8], "tom": [3, 5], "henighan": 3, "nichola": [3, 5], "joseph": [3, 5, 8], "saurav": [3, 8], "kadavath": 3, "jackson": [3, 5, 8], "kernion": [3, 5, 8], "conerli": 3, "sheer": [3, 9], "el": 3, "showk": 3, "nelson": 3, "elhag": 3, "zac": 3, "hatfield": 3, "dodd": 3, "danni": [3, 5, 8], "hernandez": [3, 5, 8], "tristan": 3, "hume": 3, "scott": [3, 5, 8], "johnston": 3, "shauna": 3, "kravec": 3, "lian": 3, "lovitt": 3, "neel": [3, 5], "nanda": 3, "dario": [3, 5], "amodei": [3, 5], "brown": [3, 5], "jack": [3, 5, 8], "clark": 3, "mccandlish": [3, 5], "chri": [3, 5, 8], "olah": 3, "ben": [3, 5, 7, 8], "mann": [3, 8], "jare": [3, 5, 8], "kaplan": [3, 5, 8], "arxiv": [3, 4, 5, 6, 7, 8, 9], "org": [3, 4, 5, 6, 7, 8, 9], "ab": [3, 4, 5, 6, 7, 8, 9], "2204": 3, "05862": 3, "bkk": 3, "sandipan": 3, "kundu": 3, "goldi": 3, "cameron": [3, 5, 8, 9], "mckinnon": 3, "carol": [3, 8], "christoph": [3, 5, 8], "dustin": 3, "eli": [3, 5, 7, 8], "tran": [3, 9], "johnson": 3, "ethan": [3, 5, 6, 8], "perez": [3, 6, 8], "jami": [3, 8], "kerr": 3, "mueller": 3, "jeffrei": 3, "ladish": 3, "joshua": [3, 5, 8], "landau": 3, "kamil": [3, 5], "lukosuit": 3, "michael": [3, 5, 6, 7, 8, 9], "sellitto": 3, "schiefer": 3, "noemi": 3, "mercado": 3, "robert": [3, 5, 7], "lasenbi": 3, "robin": 3, "larson": 3, "tamera": 3, "lanham": 3, "timothi": [3, 5, 7], "telleen": 3, "lawton": 3, "samuel": [3, 5, 8], "bowman": [3, 5], "2212": 3, "08073": 3, "blo23": 3, "announc": [3, 5], "cc": 3, "11": [3, 5, 6, 7, 8, 9], "ccl": [3, 8], "24": [3, 4, 5, 6, 7, 8, 9], "guim": 3, "hardi": 3, "shunian": 3, "zich": 3, "liu": [3, 5, 6, 7, 8, 9], "jiang": [3, 5, 8], "benyou": 3, "wang": [3, 4, 5, 6, 7, 8, 9], "judgement": [3, 5, 8], "2402": [3, 8], "10669": 3, "dphz23": 3, "tim": [3, 6, 8], "artidoro": 3, "pagnoni": 3, "ari": [3, 5, 8], "holtzman": [3, 5], "luke": [3, 5, 8], "zettlemoy": 3, "2305": [3, 5], "14314": 3, "ddz": 3, "qingxiu": 3, "xingx": 3, "zhang": [3, 5, 7, 8], "zhifang": 3, "sui": 3, "furu": [3, 4], "wei": [3, 4, 5, 6, 7, 8], "boost": 3, "2410": [3, 4, 8], "06961": 3, "fac24": [3, 5], "huggingfaceh4": [3, 7, 8], "fac4c": 3, "fac4d": [3, 7], "doc": [3, 4, 5, 6, 7, 8, 9], "en": [3, 5, 7, 8, 9], "fqh": 3, "duanyu": 3, "bowen": [3, 5, 7, 8], "qin": [3, 5, 7, 8], "zheng": [3, 5, 6, 7, 8], "wenqiang": 3, "lei": [3, 5, 7, 8], "analyz": [3, 4, 5, 6, 7, 8, 9], "perspect": [3, 6, 8], "2404": [3, 5, 8], "04626": 3, "h44a": 3, "binari": [3, 5, 7, 8], "h44b": 3, "hhj": 3, "shuang": 3, "wenfeng": 3, "han": [3, 5, 8], "tao": [3, 5, 8], "yipe": 3, "haonan": 3, "chunlin": 3, "zhong": [3, 8], "zhangjun": 3, "zhou": [3, 4, 5, 6, 7, 8], "tang": [3, 5, 7, 8], "2401": [3, 5], "01629": 3, "hlt24": 3, "jiwoo": 3, "noah": [3, 5, 8], "lee": [3, 5, 6, 7, 8, 9], "jame": [3, 5, 8], "thorn": 3, "orpo": 3, "monolith": 3, "2403": [3, 5], "07691": 3, "hdn": 3, "zhenyu": 3, "pengfan": 3, "du": [3, 5], "yilin": 3, "niu": [3, 9], "zhengxiao": 3, "aohan": 3, "zeng": [3, 8], "xiao": [3, 8], "minli": 3, "hongn": 3, "jie": [3, 5, 8, 9], "yuxiao": 3, "2412": [3, 5, 7, 8], "06000": 3, "hsw": 3, "21": [3, 5, 6, 7], "edward": [3, 5], "j": [3, 5, 7, 8, 9], "yelong": 3, "shen": [3, 5, 8], "phillip": 3, "walli": 3, "zeyuan": 3, "allen": [3, 5], "zhu": [3, 5, 7, 8], "yuanzhi": 3, "shean": 3, "lu": [3, 5, 7, 8], "weizhu": 3, "2106": 3, "09685": 3, "hgh": 3, "jiaxin": 3, "shixiang": [3, 5, 8], "shane": [3, 5, 8], "gu": [3, 5, 8], "le": [3, 5, 7], "yuexin": 3, "xuezhi": 3, "hongkun": 3, "yu": [3, 5, 7, 8], "jiawei": [3, 9], "2210": [3, 8], "11610": 3, "huy24": 3, "chip": 3, "reilli": 3, "media": [3, 4, 5, 8], "decemb": [3, 5, 6, 8], "9781098129095": 3, "www": [3, 5, 6, 7, 8], "oreilli": 3, "ksd": 3, "rylan": [3, 5, 8], "schaeffer": [3, 8], "apratim": 3, "dei": 3, "matthia": [3, 5], "gerstgrass": 3, "rafael": 3, "donoho": 3, "sanmi": [3, 8], "koyejo": [3, 8], "thrive": [3, 5, 9], "peril": 3, "16713": 3, "ksy": 3, "seungon": 3, "juyoung": 3, "suk": 3, "xiang": [3, 5, 7], "yue": 3, "vijai": 3, "viswanathan": 3, "seongyun": 3, "yizhong": 3, "kiril": 3, "gashteovski": 3, "carolin": [3, 8], "lawrenc": 3, "sean": [3, 5, 8], "welleck": 3, "graham": 3, "neubig": 3, "03679": 3, "lt24": 3, "herd": [3, 7], "2407": [3, 5, 7, 8], "21783": [3, 7], "lwx": 3, "lin": [3, 5, 6, 7, 8, 9], "rui": [3, 5, 7, 9], "ruixuan": 3, "junbo": 3, "zhao": [3, 5, 7, 8], "ding": 3, "gang": [3, 5], "haobo": 3, "driven": [3, 5, 7, 8], "survei": [3, 5, 8, 9], "2406": [3, 5, 6, 7, 8], "15126": 3, "met24": 3, "owj": 3, "jeff": [3, 5, 8], "xu": [3, 5, 7, 8], "diogo": [3, 8], "almeida": [3, 8], "carrol": [3, 8], "wainwright": [3, 8], "pamela": [3, 5, 8], "mishkin": [3, 5, 8], "chong": [3, 8], "sandhini": [3, 8], "agarw": [3, 5, 8], "katarina": [3, 8], "slama": [3, 8], "alex": [3, 5, 7, 8], "rai": [3, 5, 7, 8], "john": [3, 5, 6, 8], "hilton": [3, 5, 7, 8], "fraser": [3, 8], "kelton": 3, "miller": [3, 5], "maddi": [3, 8], "simen": [3, 8], "peter": [3, 5, 7, 8], "welind": [3, 5, 8], "paul": [3, 5, 8], "christiano": [3, 8], "leik": [3, 5, 8], "ryan": [3, 5, 8], "2203": 3, "02155": 3, "qwe24": 3, "rsm": 3, "archit": 3, "sharma": [3, 8], "eric": [3, 5, 7, 8], "mitchel": [3, 6, 7], "stefano": [3, 5], "ermon": [3, 5], "man": [3, 5, 8], "chelsea": [3, 8], "finn": 3, "secretli": 3, "18290": 3, "swd": 3, "17": [3, 5, 6, 7, 8], "filip": [3, 8], "wolski": 3, "prafulla": 3, "dhariw": 3, "alec": [3, 5, 8], "radford": [3, 5, 8], "oleg": [3, 8], "klimov": 3, "1707": 3, "06347": 3, "smollm224": 3, "distil": [3, 4], "smollm2360mi24": 3, "sou24": 3, "html": [3, 6, 9], "srverh24": 3, "m\u00e1rton": 3, "daniel": [3, 5, 8], "rueckert": 3, "r\u00fcdiger": 3, "von": [3, 5, 7], "eisenhart": 3, "roth": [3, 5], "florian": 3, "hinterwimm": 3, "2411": [3, 6], "09539": 3, "tm": [3, 7], "23": [3, 5, 6, 7, 8], "hugo": [3, 7], "loui": [3, 5, 7], "martin": [3, 5, 6, 7, 8], "kevin": [3, 5, 7, 8], "stone": [3, 7], "albert": [3, 7], "amjad": [3, 7], "almahairi": [3, 7], "yasmin": [3, 7], "babaei": [3, 7], "nikolai": [3, 7], "bashlykov": [3, 7], "soumya": [3, 7], "batra": [3, 7], "prajjwal": [3, 7], "bhargava": [3, 7], "shruti": [3, 7], "bhosal": [3, 7], "dan": [3, 5, 7, 8, 9], "bikel": [3, 7], "luka": [3, 7], "blecher": [3, 7], "cristian": [3, 7], "canton": [3, 7], "ferrer": [3, 7], "moya": [3, 7], "guillem": [3, 7], "cucurul": [3, 7], "esiobu": [3, 7], "jude": [3, 7], "fernand": [3, 7], "jeremi": [3, 5, 6, 7], "fu": [3, 7], "wenyin": [3, 7], "brian": [3, 7, 8], "fuller": [3, 7, 8], "cynthia": [3, 7], "gao": [3, 5, 7, 8], "vedanuj": [3, 7], "goswami": [3, 7, 8], "naman": [3, 6, 7], "goyal": [3, 6, 7], "anthoni": [3, 6, 7], "hartshorn": [3, 7], "saghar": [3, 7], "hosseini": [3, 7], "hakan": [3, 7, 8], "inan": [3, 7, 8], "marcin": [3, 7], "karda": [3, 7], "viktor": [3, 7], "kerkez": [3, 7], "madian": [3, 7, 8], "khabsa": [3, 7, 8], "isabel": [3, 7, 8], "kloumann": [3, 7], "artem": [3, 7], "korenev": [3, 7], "punit": [3, 7], "singh": [3, 5, 6, 7], "koura": [3, 7], "mari": [3, 5, 7, 8], "ann": [3, 7, 8], "lachaux": [3, 7], "thibaut": [3, 7], "lavril": [3, 7], "jenya": [3, 7], "diana": [3, 5, 7], "liskovich": [3, 7], "yinghai": [3, 7], "yune": [3, 7, 8], "mao": [3, 4, 7, 8], "xavier": [3, 7], "martinet": [3, 7], "todor": [3, 7, 8], "mihaylov": [3, 7], "pushkar": [3, 7], "mishra": [3, 5, 7], "igor": [3, 5, 7, 8], "molybog": [3, 7], "yixin": [3, 5, 7], "nie": [3, 5, 6, 7], "andrew": [3, 5, 7, 8], "poulton": [3, 7], "reizenstein": [3, 7], "rashi": [3, 7, 8], "rungta": [3, 7, 8], "kalyan": [3, 7], "saladi": [3, 7], "alan": [3, 7, 8], "schelten": [3, 7], "ruan": [3, 7], "silva": [3, 7], "ranjan": [3, 7], "subramanian": [3, 7], "xiaoq": [3, 7], "ellen": [3, 7], "tan": [3, 5, 6, 7], "binh": [3, 7], "ross": [3, 4, 7, 8], "taylor": [3, 7], "adina": [3, 7, 8], "jian": [3, 5, 6, 7], "kuan": [3, 7], "puxin": [3, 7], "yan": [3, 4, 5, 7], "iliyan": [3, 7], "zarov": [3, 7], "yuchen": [3, 5, 7, 8], "angela": [3, 5, 7, 8], "fan": [3, 5, 7], "melani": [3, 7], "kambadur": [3, 7], "sharan": [3, 7], "narang": [3, 7], "aurelien": [3, 7], "rodriguez": [3, 7], "stojnic": [3, 7], "sergei": [3, 7], "edunov": [3, 7], "thoma": [3, 5, 7, 8], "scialom": [3, 7], "2307": [3, 7, 9], "09288": [3, 7], "vaa": [3, 8], "berti": [3, 8], "adarsh": [3, 8], "agraw": [3, 8], "ahm": [3, 8], "victor": [3, 8], "akinwand": [3, 8], "namir": [3, 8], "nuaimi": [3, 8], "najla": [3, 8], "alfaraj": [3, 8], "alhajjar": [3, 8], "aroyo": [3, 8], "trupti": [3, 8], "bavalatti": [3, 8], "max": [3, 5, 6, 8], "bartolo": [3, 8], "borhan": [3, 8], "blili": [3, 8], "hamelin": [3, 8], "kurt": [3, 8], "bollack": [3, 8], "rishi": [3, 5, 7, 8], "bomassani": [3, 8], "marisa": [3, 8], "ferrara": [3, 8], "boston": [3, 8], "sim\u00e9on": [3, 8], "campo": [3, 8], "kal": [3, 8], "chakra": [3, 8], "canyu": [3, 8], "codi": [3, 8], "coleman": [3, 8], "zachari": [3, 5, 8], "delpierr": [3, 8], "coudert": [3, 8], "leon": [3, 8], "derczynski": [3, 8], "debojyoti": [3, 8], "dutta": [3, 8], "ian": [3, 5, 8], "eisenberg": [3, 8], "ezick": [3, 8], "heather": [3, 8], "frase": [3, 8], "ram": [3, 7, 8], "gandikota": [3, 8], "agasthya": [3, 8], "gangavarapu": [3, 8], "ananya": [3, 5, 8], "geali": [3, 8], "rajat": [3, 8], "ghosh": [3, 5, 8], "goel": [3, 5, 8], "usman": [3, 8], "gohar": [3, 8], "sujata": [3, 8], "hale": [3, 8], "wiebk": [3, 8], "hutiri": [3, 8], "marvin": [3, 8], "imperi": [3, 8], "surgan": [3, 8], "jandial": [3, 8], "nick": [3, 5, 8], "judd": [3, 8], "felix": [3, 5, 8], "juefei": [3, 8], "fouts": [3, 8], "khomh": [3, 8], "bhavya": [3, 8], "kailkhura": [3, 8], "hannah": [3, 5, 8], "rose": [3, 8], "kirk": [3, 8], "klyman": [3, 8], "knotz": [3, 8], "kuchnik": [3, 8], "shachi": [3, 8], "kumar": [3, 5, 8], "srijan": [3, 8], "lengerich": [3, 8], "bo": [3, 5, 7, 8], "zeyi": [3, 8], "liao": [3, 5, 8], "eileen": [3, 8], "sarah": [3, 5, 8], "luger": [3, 8], "yifan": [3, 5, 8], "priyanka": [3, 8], "mammen": [3, 8], "kelvin": [3, 6, 8], "manyeki": [3, 8], "mcgregor": [3, 8], "virendra": [3, 8], "mehta": [3, 5, 8], "shafe": [3, 8], "moham": [3, 8], "moss": [3, 8], "lama": [3, 8], "nachman": [3, 8], "dinesh": [3, 8], "jinenh": [3, 8], "naganna": [3, 8], "amin": [3, 8], "nikanjam": [3, 8], "besmira": [3, 8], "nushi": [3, 8], "lui": [3, 5, 8], "oala": [3, 8], "iftach": [3, 8], "orr": [3, 5, 8], "alicia": [3, 5, 8], "parrish": [3, 5, 8], "cigdem": [3, 8], "patlak": [3, 8], "pietri": [3, 8], "forough": [3, 8], "poursabzi": [3, 8], "sangdeh": [3, 8], "eleonora": [3, 8], "presani": [3, 8], "fabrizio": [3, 8], "puletti": [3, 8], "r\u00f6ttger": [3, 8], "sahai": [3, 8], "santo": [3, 8], "nino": [3, 8], "scherrer": [3, 8], "alic": [3, 5, 8, 9], "schoenauer": [3, 8], "sebag": [3, 8], "patrick": [3, 6, 8], "schramowski": [3, 8], "abolfazl": [3, 8], "shahbazi": [3, 8], "vin": [3, 8], "xudong": [3, 5, 6, 8], "vamsi": [3, 8], "sistla": [3, 8], "leonard": [3, 8], "testuggin": [3, 8], "vithursan": [3, 8], "thangarasa": [3, 8], "elizabeth": [3, 5, 8], "watkin": [3, 8], "rebecca": [3, 5, 8], "weiss": [3, 8], "welti": [3, 8], "tyler": [3, 5, 8], "wilber": [3, 8], "jean": [3, 8], "poonam": [3, 8], "yadav": [3, 8], "xianjun": [3, 8], "yang": [3, 5, 6, 7, 8, 9], "yi": [3, 5, 6, 8, 9], "wenhui": [3, 8], "fedor": [3, 8], "zhdanov": [3, 8], "jiacheng": [3, 5, 8], "perci": [3, 5, 8], "liang": [3, 5, 8, 9], "mattson": [3, 8], "joaquin": [3, 8], "vanschoren": [3, 8], "v0": [3, 8], "12241": [3, 8], "wyg": 3, "tianhao": [3, 5, 7, 8], "weizh": 3, "yuan": [3, 5, 8], "olga": 3, "golovneva": 3, "jing": [3, 8], "yuandong": 3, "tian": 3, "jiantao": 3, "jiao": 3, "jason": [3, 5, 8], "weston": 3, "sainbayar": 3, "sukhbaatar": 3, "19594": 3, "ywx": 3, "yueqin": 3, "zhendong": 3, "yujia": [3, 6], "xie": [3, 5, 8], "mingyuan": 3, "paradigm": [3, 5], "semanticscholar": 3, "corpusid": 3, "270199610": 3, "suppos": [4, 5, 9], "econom": [4, 5, 6], "fuel": 4, "equival": [4, 5, 7], "consumpt": [4, 5], "contrari": 4, "truth": [4, 5, 7, 8, 9], "stanlei": 4, "jevon": 4, "a16z": 4, "andreessen": 4, "horowitz": 4, "10x": 4, "outpac": 4, "moor": 4, "pc": 4, "edholm": 4, "bandwidth": 4, "era": 4, "llmflation": 4, "mmlu": [4, 7, 8], "60": [4, 5, 6, 7, 8], "06": [4, 5, 6, 9], "price": [4, 5, 6, 7], "fallen": 4, "62": [4, 5, 7], "introduct": 4, "march": [4, 5, 9], "stem": [4, 5, 9], "compound": 4, "bit": [4, 6, 7], "tune": [4, 5, 8], "dpo": [4, 7], "competit": [4, 5, 6, 7, 8], "plummet": 4, "rapidli": [4, 7, 8, 9], "preciou": 4, "wouldn": [4, 5], "sens": [4, 8], "wait": [4, 5, 8], "wave": 4, "economist": 4, "1865": 4, "studi": [4, 9], "coal": 4, "industri": [4, 5, 6, 7, 8, 9], "made": [4, 5, 6, 7, 9], "counterintuit": 4, "discoveri": 4, "steam": 4, "spend": [4, 5, 6], "repeat": [4, 6], "didn": [4, 9], "smartphon": [4, 5, 6, 7], "server": [4, 5, 7, 9], "network": [4, 5, 6, 7, 9], "transmiss": 4, "got": 4, "cheaper": [4, 5], "shift": [4, 5, 6], "hd": 4, "stream": [4, 5, 6, 7, 9], "storag": [4, 5, 7, 8], "gigabyt": 4, "entir": [4, 5, 6, 7, 9], "massiv": [4, 5, 8], "broadli": [4, 6, 7, 9], "audio": [4, 5, 6], "transcript": [4, 6], "multimod": [4, 7, 8], "imag": [4, 5, 6, 7, 8], "exponenti": [4, 5], "growth": [4, 5, 6], "magnifi": 4, "everyth": [4, 9], "billion": [4, 5, 6, 7, 9], "dollar": [4, 5, 7], "annual": [4, 5, 6, 8], "millisecond": [4, 5], "latenc": [4, 5, 7, 8], "30": [4, 5, 6, 7, 8], "mobil": [4, 5, 7, 9], "b": [4, 5, 7, 8, 9], "tradeoff": [4, 7, 8, 9], "pro": [4, 5, 6, 7, 8], "trigger": [4, 6, 8], "premium": [4, 5], "innov": [4, 5, 6, 7, 8], "capac": [4, 5, 6, 7], "link": [4, 5], "dual": 4, "character": [4, 5, 8], "ahead": [4, 7, 8], "decai": [4, 7], "discuss": [4, 5, 7, 8], "area": [4, 5, 8, 9], "flash": [4, 6, 7], "cach": [4, 5, 6, 7], "prompt": [4, 5, 6, 8], "compress": [4, 5, 7], "provis": [4, 5], "extent": [4, 5, 8], "problema": 4, "accomplish": [4, 8, 9], "accompani": [4, 5, 8], "transact": [4, 5, 8], "roi": 4, "alloc": [4, 5, 6, 7, 8], "budget": [4, 7], "viabil": [4, 7], "prioriti": [4, 5, 7], "overlook": [4, 6], "thorough": [4, 7, 8], "identif": [4, 5], "specifi": [4, 5, 6, 7, 8, 9], "longev": 4, "accommod": 4, "evalu": [4, 6, 7, 9], "multi": [4, 5, 6, 7, 8, 9], "baselin": [4, 5, 7, 8], "met": [4, 5, 8], "equal": [4, 5, 6, 8], "concurr": [4, 7], "peak": 4, "spike": 4, "versu": [4, 5, 7, 8], "volum": [4, 5, 7, 8], "season": [4, 5], "variat": [4, 5, 7, 8], "uptim": 4, "mainten": [4, 5, 7, 8], "disrupt": [4, 5, 6], "backup": 4, "failov": 4, "clearli": [4, 5, 8, 9], "redund": [4, 5], "recoveri": [4, 5], "unexpect": [4, 5, 8, 9], "event": [4, 5], "seamless": [4, 5, 8], "broader": [4, 5, 6, 7, 8], "vector": [4, 7, 8], "augment": [4, 5, 7], "rag": [4, 7], "retent": [4, 5, 6], "polici": [4, 5, 6, 7], "essenti": [4, 5, 6, 7, 8, 9], "opportun": [4, 5, 6], "post": [4, 5, 7, 8], "32": [4, 5, 6, 7], "fp32": 4, "fp16": [4, 7], "proport": [4, 5, 7], "byte": 4, "120": [4, 5, 8], "gb": 4, "whole": [4, 5], "done": [4, 5, 7, 8, 9], "smollm2": [4, 5, 7, 9], "135m": [4, 7], "load_gguf": 4, "bartowski": 4, "gguf": [4, 7], "gguf_file_q2_k": 4, "q2_k": [4, 7], "gguf_file_f16": 4, "f16": 4, "model_q2_k": 4, "gguf_fil": 4, "model_f16": 4, "mlp": 4, "layer": [4, 5, 7, 9], "proxi": [4, 5, 6, 8], "mlp_weights_q2_k": 4, "gate_proj": 4, "mlp_weights_f16": 4, "tensor": [4, 9], "0145": 4, "1826": 4, "1377": 4, "1719": 4, "1387": 4, "0298": 4, "1631": 4, "0781": 4, "2051": [4, 5], "2070": 4, "0334": 4, "2891": 4, "1768": 4, "0488": 4, "2393": 4, "0396": 4, "1348": 4, "1533": 4, "0771": 4, "0845": 4, "0232": 4, "0178": 4, "1040": 4, "1582": 4, "1167": 4, "0474": 4, "0359": 4, "2500": 4, "0432": 4, "0972": 4, "0933": 4, "2188": 4, "0776": 4, "0674": 4, "requires_grad": 4, "0028": 4, "1852": 4, "1396": 4, "1506": 4, "1635": 4, "0043": 4, "0680": 4, "2257": 4, "1890": 4, "0464": 4, "2960": 4, "1840": 4, "0451": 4, "2395": 4, "0413": 4, "1446": 4, "0621": 4, "0478": 4, "0038": 4, "0830": 4, "1473": 4, "0926": 4, "0547": 4, "0824": 4, "0429": 4, "2737": 4, "0355": 4, "0782": 4, "2043": [4, 5], "0740": 4, "arriv": [4, 5], "pearson": 4, "numpi": [4, 5], "np": [4, 5], "arrai": [4, 8], "detach": 4, "graph": [4, 5], "weights_f16": 4, "weights_q2_k": 4, "flat_f16": 4, "flatten": 4, "flat_q2_k": 4, "corrcoef": 4, "4f": [4, 9], "9970": 4, "exemplifi": [4, 6, 7, 8], "70b": [4, 5, 7], "unsloth": 4, "141": 4, "q8_0": [4, 7], "75": [4, 8], "47": [4, 5, 7, 8], "cumul": [4, 5, 6], "26": [4, 5, 7], "19": [4, 5, 6, 7, 8], "space": [4, 5, 7, 8], "counterpart": 4, "spectrum": [4, 5, 6], "variant": [4, 5, 7, 8], "laptop": [4, 5], "desktop": [4, 5, 7], "enterpris": [4, 5, 7, 8, 9], "ceil": 4, "notabl": [4, 5, 8, 9], "bitnet": 4, "cpp": [4, 9], "arm": 4, "x86": 4, "speedup": [4, 7], "37x": 4, "07x": 4, "17x": 4, "beyond": [4, 5, 8], "raw": [4, 5, 7, 8, 9], "speed": [4, 5, 7, 8], "energi": [4, 5, 6], "55": [4, 5, 6, 7], "70": [4, 5, 7], "71": [4, 5], "82": [4, 8], "impress": [4, 7, 9], "100b": 4, "b1": 4, "58": [4, 6, 7], "pace": [4, 5, 6, 8], "kernel": 4, "characterist": [4, 5, 7, 8, 9], "excit": [4, 7], "frontier": [4, 8], "compel": [4, 5, 7, 9], "acceler": [4, 5, 7, 8], "faster": [4, 7], "arithmet": [4, 5], "benefici": [4, 5, 7], "sustain": [4, 5, 6, 7, 8], "Be": [4, 5, 7, 8], "fine": [4, 5, 8], "pure": [4, 5, 7, 9], "unlock": [4, 9], "track": [4, 5, 6, 8], "chargeback": 4, "regularli": [4, 5], "wz": 4, "jinheng": 4, "hansong": 4, "ting": [4, 8], "shaoguang": 4, "shume": [4, 8], "ma": [4, 5, 8], "hongyu": [4, 5], "xia": [4, 5, 7], "infra": 4, "fast": [4, 5, 7, 8, 9], "lossless": 4, "16144": 4, "andreessenhorowitz24": 4, "huggingface4w": [4, 7], "2024w": [4, 7], "unsloth24": 4, "jonathan": [4, 5, 8], "ceo": [4, 5], "groq": [4, 7], "streamlin": [4, 5, 6, 7, 9], "notat": 4, "width": [4, 7], "_k": 4, "_0": 4, "matter": [5, 6], "beauti": 5, "smart": [5, 8], "agre": 5, "wrong": 5, "feynman": 5, "advent": 5, "pivot": [5, 7], "verif": [5, 6, 7, 9], "norm": 5, "realm": 5, "convent": [5, 8], "evolut": [5, 7], "conceiv": 5, "entrench": 5, "seem": 5, "daunt": [5, 6], "ignor": 5, "outdat": [5, 6, 8, 9], "inevit": 5, "setback": 5, "imper": 5, "embrac": 5, "proactiv": [5, 8], "mindset": 5, "front": [5, 7], "incorpor": [5, 6, 7, 8, 9], "produc": [5, 6, 7, 8, 9], "novel": [5, 7], "ident": [5, 6], "isn": [5, 8], "bug": 5, "random": [5, 8, 9], "testabl": 5, "guarante": [5, 6, 7, 8, 9], "exceedingli": 5, "primari": [5, 8], "nucleu": 5, "2020": 5, "summari": [5, 6, 7, 8, 9], "alter": 5, "rigid": 5, "wildli": 5, "incoher": 5, "inadequ": [5, 8], "temp": 5, "df_result": 5, "ntemperatur": 5, "40": [5, 6, 7], "temp_respons": 5, "iterrow": [5, 8], "10000": [5, 6, 9], "appl": [5, 6, 9], "txt": [5, 6, 7, 9], "sec_fil": [5, 9], "nsecur": 5, "AND": [5, 9], "exchang": [5, 6, 8, 9], "commiss": [5, 6, 8, 9], "nwashington": 5, "20549": 5, "nform": 5, "pursuant": 5, "TO": [5, 8], "13": [5, 6, 7, 8], "OR": 5, "OF": [5, 8], "THE": [5, 8], "1934": 5, "nfor": 5, "fiscal": [5, 6], "septemb": [5, 6], "28": [5, 6, 7, 8], "nor": 5, "period": [5, 6, 8], "ncommiss": 5, "001": [5, 7], "36743": 5, "ng66145g66i43": 5, "jpg": 5, "nappl": 5, "exact": [5, 7, 8], "registr": 5, "charter": 5, "ncalifornia": 5, "t94": 5, "2404110": 5, "jurisdict": 5, "nof": 5, "employ": 5, "park": 5, "ncupertino": 5, "california": [5, 8, 9], "n95014": 5, "princip": 5, "offic": [5, 6, 8], "408": 5, "996": 5, "1010": 5, "telephon": 5, "regist": 5, "ntitl": 5, "ttrade": 5, "symbol": 5, "tname": 5, "ncommon": 5, "stock": [5, 9], "00001": 5, "naapl": 5, "tthe": 5, "nasdaq": [5, 6, 9], "llc": [5, 9], "n0": 5, "000": [5, 7, 9], "note": [5, 6, 7, 9], "2025": [5, 6], "875": 5, "625": 5, "2026": 5, "2027": 5, "375": 5, "2029": 5, "050": 5, "2031": [5, 8], "600": 5, "2042": 5, "nindic": 5, "issuer": 5, "405": 5, "nye": 5, "preced": [5, 9], "shorter": 5, "past": [5, 6, 8], "90": [5, 6, 7, 8], "submit": [5, 7, 8], "electron": 5, "232": 5, "filer": 5, "12b": [5, 8], "nlarg": 5, "tacceler": 5, "nnon": 5, "tsmaller": 5, "nemerg": 5, "nif": 5, "elect": [5, 8], "revis": [5, 8], "attest": 5, "404": 5, "sarban": 5, "oxlei": 5, "7262": 5, "firm": [5, 8], "prepar": [5, 6, 7, 8], "correct": [5, 6, 8], "restat": 5, "incent": 5, "compens": 5, "240": 5, "10d": 5, "shell": 5, "aggreg": [5, 8, 9], "vote": 5, "held": [5, 9], "affili": [5, 9], "29": [5, 7, 8, 9], "last": [5, 6, 8, 9], "quarter": 5, "628": [5, 9], "553": [5, 9], "sole": [5, 8], "disclosur": [5, 6, 7, 8], "director": [5, 7, 8], "date": [5, 6], "exclud": 5, "n15": 5, "115": [5, 9], "823": [5, 9], "outstand": [5, 9], "octob": [5, 9], "18": [5, 6, 7, 8, 9], "ndocument": 5, "BY": 5, "nportion": 5, "meet": [5, 6, 8, 9], "sharehold": [5, 6], "iii": 5, "ntabl": 5, "npage": 5, "npart": 5, "nitem": 5, "nbusi": 5, "1a": 5, "nrisk": 5, "1b": [5, 7, 8], "nunresolv": 5, "staff": 5, "comment": 5, "n17": 5, "1c": 5, "ncybersecur": 5, "nproperti": 5, "n18": 5, "nlegal": 5, "proceed": [5, 6, 8], "nmine": 5, "ii": [5, 7, 9], "nmarket": 5, "stockhold": 5, "purchas": [5, 6, 8], "n19": 5, "reserv": [5, 6], "n20": 5, "nmanag": 5, "n21": 5, "7a": 5, "nquantit": 5, "n27": 5, "nfinanci": 5, "supplementari": 5, "n28": 5, "nchang": 5, "disagr": 5, "n51": 5, "9a": 5, "ncontrol": 5, "procedur": [5, 6, 8], "9b": 5, "nother": 5, "n52": 5, "9c": 5, "ndisclosur": 5, "foreign": [5, 6], "ndirector": 5, "corpor": [5, 6, 8], "nexecut": 5, "ownership": [5, 7], "certain": [5, 6, 8, 9], "owner": 5, "ncertain": 5, "nprincip": 5, "fee": [5, 6], "iv": 5, "nexhibit": 5, "n53": 5, "n56": 5, "nthi": 5, "litig": [5, 6, 7], "reform": 5, "1995": 5, "uncertainti": [5, 6, 7, 8], "macroeconom": [5, 6], "anticip": [5, 6, 8], "intend": [5, 7, 8], "caus": [5, 8, 9], "oblig": [5, 6], "nunless": 5, "herein": 5, "calendar": 5, "wholli": 5, "subsidiari": 5, "unless": [5, 7], "ncompani": 5, "manufactur": 5, "tablet": [5, 6, 7], "wearabl": 5, "accessori": 5, "sell": [5, 8], "varieti": [5, 7], "52": [5, 8], "53": [5, 6, 8], "week": 5, "saturdai": 5, "nproduct": 5, "niphon": 5, "io": [5, 6, 8, 9], "iphon": [5, 6], "se": [5, 8], "nmac": 5, "maco": [5, 7], "mac": [5, 7], "macbook": 5, "air": 5, "imac": 5, "studio": 5, "nipad": 5, "multipurpos": 5, "ipado": 5, "ipad": 5, "nwearabl": 5, "home": [5, 6, 9], "smartwatch": 5, "wireless": 5, "headphon": 5, "spatial": 5, "watcho": 5, "watch": 5, "ultra": 5, "airpod": 5, "beat": [5, 7], "visiono": 5, "nhome": 5, "tv": 5, "tvo": 5, "homepod": 5, "fidel": [5, 9], "naccessori": 5, "brand": 5, "third": [5, 6, 7, 8], "parti": [5, 6, 7, 8], "nservic": 5, "nadvertis": 5, "advertis": 5, "licens": [5, 6], "napplecar": 5, "portfolio": [5, 6], "applecar": 5, "repair": 5, "coverag": [5, 6, 8], "accident": 5, "damag": [5, 8], "theft": [5, 8], "ncloud": 5, "ndigit": 5, "app": [5, 6, 7], "discov": [5, 7, 8], "download": [5, 7], "music": 5, "podcast": 5, "subscript": [5, 7], "arcad": 5, "sm": 5, "listen": [5, 7], "radio": 5, "station": 5, "magazin": 5, "exclus": 5, "sport": 5, "npayment": 5, "payment": 5, "credit": [5, 6], "pai": [5, 7], "cashless": 5, "nsegment": 5, "primarili": [5, 6, 8], "geograph": [5, 6, 8], "basi": [5, 7], "segment": [5, 6, 8, 9], "america": [5, 6], "europ": 5, "china": [5, 6, 7, 8], "japan": 5, "rest": [5, 7], "asia": 5, "pacif": 5, "north": [5, 8], "south": 5, "european": [5, 8], "india": 5, "middl": [5, 7, 8], "east": 5, "africa": 5, "mainland": 5, "kong": 5, "taiwan": 5, "australia": 5, "asian": [5, 6], "although": [5, 7], "partner": [5, 6, 7, 8], "mid": [5, 6], "resel": [5, 6], "retail": 5, "sale": [5, 6], "indirect": 5, "channel": [5, 8], "cellular": 5, "carrier": 5, "net": [5, 6, 9], "38": [5, 6, 7, 8], "ncompetit": 5, "downward": 5, "pressur": [5, 8], "gross": [5, 8], "cycl": [5, 8], "competitor": [5, 6, 7, 8], "compet": [5, 6, 7], "imit": 5, "infring": [5, 7], "intellectu": [5, 7, 8], "marketplac": [5, 8], "nearli": [5, 7], "reput": [5, 8], "expand": [5, 6, 7, 8], "profit": [5, 6, 8, 9], "illegitim": [5, 8], "collabor": [5, 7, 8], "nsuppli": 5, "nalthough": 5, "particip": 5, "shortag": 5, "commod": [5, 6, 7], "fluctuat": [5, 6], "commonli": 5, "until": [5, 8, 9], "supplier": 5, "matur": 5, "concentr": [5, 6], "enter": [5, 9], "agreement": [5, 6], "suppli": [5, 6, 9], "renew": [5, 6], "nresearch": 5, "nbecaus": 5, "upon": [5, 6, 8], "flow": [5, 6, 9], "acquisit": [5, 6, 8], "nintellectu": 5, "broad": [5, 6, 7, 9], "patent": 5, "copyright": [5, 7], "trademark": 5, "secret": 5, "differenti": 5, "skill": [5, 8], "personnel": 5, "pursu": [5, 8], "thousand": [5, 7], "durat": 5, "adequ": [5, 8], "nin": 5, "holidai": [5, 8], "fill": 5, "inventori": 5, "older": [5, 7], "newer": 5, "distributor": 5, "nhuman": 5, "strive": 5, "retain": [5, 6, 7, 8], "talent": [5, 6], "member": [5, 8], "164": 5, "ncompens": 5, "equit": 5, "succe": 5, "health": [5, 6, 8], "awai": [5, 6, 8], "ngrowth": 5, "career": 5, "leadership": [5, 8], "nworkplac": 5, "workplac": 5, "ninclus": 5, "workforc": 5, "nengag": 5, "among": [5, 7, 8, 9], "everyon": [5, 7], "gaug": 5, "sentiment": [5, 6, 7, 9], "nhealth": 5, "everywher": 5, "crisi": 5, "visitor": 5, "navail": 5, "quarterli": 5, "q": [5, 6, 7, 8], "amend": 5, "sec": [5, 6, 9], "Such": [5, 8], "charg": 5, "investor": [5, 6, 9], "aspx": 5, "websit": [5, 7, 8], "environment": [5, 8], "referenc": [5, 6], "inact": 5, "textual": 5, "unknown": [5, 6, 8], "advers": 5, "conjunct": 5, "consolid": [5, 6], "nmacroeconom": 5, "facil": 5, "assembli": 5, "site": [5, 9], "nadvers": 5, "slow": 5, "recess": 5, "unemploy": [5, 6], "inflat": [5, 6], "tighter": 5, "currenc": [5, 6], "monetari": 5, "contract": [5, 7], "logist": 5, "instabl": [5, 8], "inabl": [5, 6], "financ": [5, 7, 8], "insolv": 5, "counterparti": 5, "debt": 5, "liquid": [5, 6], "fair": [5, 8], "instrument": 5, "polit": [5, 8], "disput": 5, "geopolit": 5, "tension": [5, 8], "terror": 5, "accid": 5, "interrupt": 5, "npolit": 5, "outsourc": [5, 6], "korea": 5, "vietnam": 5, "restrict": [5, 7, 8, 9], "tariff": 5, "export": [5, 6], "portion": [5, 7], "revenu": [5, 6, 9], "restructur": 5, "ceas": 5, "escal": [5, 8], "nmani": 5, "prone": [5, 8], "earthquak": 5, "climat": 5, "weather": 5, "plant": 5, "terrorist": [5, 8], "attack": [5, 8], "hostil": 5, "ransomwar": 5, "cybersecur": [5, 6, 8], "labor": 5, "nsuch": 5, "imposs": [5, 7], "slowdown": 5, "outag": 5, "neg": [5, 6, 8, 9], "pandem": 5, "covid": 5, "economi": 5, "imposit": 5, "stringent": [5, 7, 8], "travel": 5, "freight": 5, "movement": 5, "ramp": 5, "nfollow": 5, "expenditur": 5, "resum": 5, "exacerb": 5, "insur": 5, "nglobal": 5, "unabl": 5, "assur": [5, 8], "minor": [5, 6, 8], "naddition": 5, "intensifi": 5, "seamlessli": 5, "nto": 5, "stimul": 5, "ndue": 5, "upgrad": 5, "quantiti": 5, "defect": 5, "defici": 5, "supersed": 5, "nsubstanti": 5, "transport": 5, "reimburs": 5, "warranti": 5, "unanticip": 5, "liabil": 5, "finish": [5, 8], "destin": 5, "prepay": 5, "termin": [5, 7], "recover": 5, "exposur": [5, 8], "nfutur": 5, "semiconductor": 5, "suffer": [5, 8], "constrain": [5, 7, 9], "shipment": 5, "unexpectedli": 5, "interfer": 5, "unsaf": [5, 8], "expos": [5, 6, 8], "widespread": [5, 8], "vulner": [5, 6, 8], "compromis": [5, 7, 8], "claim": [5, 6, 7, 8], "intang": 5, "lost": [5, 6, 8], "cancel": 5, "obsolet": 5, "exce": [5, 8], "realiz": 5, "accru": 5, "excess": 5, "impair": 5, "whenev": 5, "circumst": 5, "amount": [5, 6, 8, 9], "carri": [5, 7, 9], "incur": 5, "unpredict": [5, 8], "obsolesc": 5, "forecast": [5, 6, 8], "incorrectli": [5, 8, 9], "extens": [5, 7, 9], "issuanc": 5, "unknowingli": [5, 8], "notifi": 5, "preclud": 5, "bui": 5, "percept": 5, "android": [5, 6], "playstat": 5, "nintendo": 5, "xbox": 5, "inclin": 5, "devot": 5, "dissatisfi": 5, "vast": [5, 8], "storefront": 5, "safari": 5, "union": [5, 8], "eu": [5, 6, 8], "dma": [5, 6], "narrow": [5, 7, 8], "scope": [5, 6, 7, 8], "elimin": [5, 7], "nfailur": 5, "appeal": [5, 6], "subscrib": [5, 6], "nsome": 5, "manner": [5, 6, 8], "nurtur": 5, "nmuch": 5, "chief": [5, 6], "silicon": 5, "vallei": 5, "constantli": 5, "driver": [5, 7], "recruit": 5, "subsidi": 5, "staf": 5, "contractor": 5, "placement": 5, "increment": 5, "weaken": 5, "telecommun": 5, "war": 5, "virus": 5, "ins": 5, "incid": [5, 8], "ineffect": 5, "thing": [5, 9], "interf": 5, "imped": 5, "ship": 5, "nloss": 5, "unauthor": [5, 8], "confidenti": [5, 7], "encrypt": 5, "But": [5, 8, 9], "behalf": 5, "normal": [5, 6, 8, 9], "investig": [5, 8], "penalti": [5, 7], "frequenc": [5, 7, 8], "actor": [5, 8], "circumv": [5, 8], "obfusc": 5, "forens": 5, "hinder": [5, 9], "recov": 5, "perpetr": 5, "profil": [5, 7], "authent": 5, "hack": [5, 8], "malfeas": 5, "faulti": 5, "password": 5, "irregular": 5, "fraudul": 5, "induc": 5, "disclos": [5, 6, 9], "usernam": 5, "turn": [5, 6, 8, 9], "multifactor": 5, "unusu": 5, "freez": 5, "suspici": 5, "nwhile": 5, "ninvest": 5, "ongo": [5, 6, 7], "contempl": 5, "endeavor": 5, "distract": 5, "tangibl": 5, "approv": 5, "oner": 5, "ventur": 5, "riski": 5, "leas": 5, "unfavor": [5, 6], "arisen": 5, "ordinari": 5, "cours": [5, 7, 8], "resolv": [5, 7, 8], "sometim": 5, "indemnif": 5, "indemnifi": 5, "alleg": 5, "magnitud": 5, "assert": [5, 6], "royalti": 5, "vigor": 5, "defend": 5, "court": [5, 7], "internation": 5, "plaintiff": 5, "injunct": 5, "relief": 5, "nregardless": 5, "merit": 5, "recognit": [5, 7, 8], "settl": 5, "uncertain": [5, 6], "disgorg": 5, "remedi": [5, 8], "worldwid": 5, "antitrust": [5, 6], "bill": [5, 6], "commerc": 5, "televis": 5, "film": 5, "anticorrupt": 5, "cash": [5, 6], "repatri": 5, "launder": 5, "tax": [5, 6], "wast": 5, "recycl": 5, "ncomplianc": 5, "impos": [5, 7, 8, 9], "agent": [5, 7, 8], "nregulatori": 5, "ban": [5, 8], "nexpect": 5, "increasingli": [5, 7, 8, 9], "greenhous": 5, "ga": 5, "emiss": 5, "civil": 5, "disagre": 5, "perceiv": 5, "feder": 5, "nfrom": 5, "noncompli": 5, "individu": [5, 6, 7, 8], "lawsuit": [5, 7], "monopol": 5, "nfurther": 5, "earn": 5, "search": [5, 6, 7, 8], "nthere": 5, "transfer": 5, "pass": [5, 6, 7, 8, 9], "pend": 5, "inquiri": [5, 8], "government": 5, "entiti": [5, 7, 8, 9], "biometr": 5, "notif": 5, "permit": [5, 7, 9], "healthcar": [5, 6, 7], "liabl": 5, "investigatori": 5, "cardhold": 5, "acquir": 5, "denomin": 5, "offset": 5, "strengthen": [5, 8], "nconvers": 5, "thu": 5, "hedg": 5, "deterior": 5, "sovereign": 5, "heighten": [5, 8], "worsen": 5, "A": [5, 6, 7, 8, 9], "collater": 5, "bank": 5, "unsecur": 5, "subassembli": 5, "assembl": 5, "legisl": 5, "ireland": [5, 8], "singapor": 5, "organis": 5, "statutori": 5, "valuat": [5, 6], "defer": 5, "bodi": [5, 8], "adequaci": 5, "ow": 5, "ngener": 5, "repurchas": 5, "dividend": 5, "consumm": 5, "declar": [5, 6], "board": [5, 6, 8], "unresolv": 5, "nnone": 5, "threat": [5, 6, 8], "postur": 5, "25": [5, 6, 7, 8], "2016": 5, "coordin": [5, 8], "committe": [5, 8], "oversight": [5, 8], "counsel": 5, "chair": 5, "headquart": 5, "cupertino": [5, 9], "center": [5, 8, 9], "formal": [5, 8, 9], "conclud": [5, 7], "uninstal": 5, "web": [5, 6, 7, 8], "browser": 5, "june": 5, "contractu": 5, "desist": 5, "stai": [5, 7], "grant": 5, "ndepart": 5, "justic": 5, "depart": [5, 8], "doj": 5, "district": 5, "attornei": 5, "jersei": 5, "redress": [5, 8], "anticompetit": 5, "nonmonetari": 5, "defens": [5, 8], "nepic": 5, "epic": 5, "northern": 5, "unfair": [5, 8], "enjoin": 5, "extern": [5, 6, 8], "januari": 5, "motion": 5, "oppos": [5, 8], "vacat": 5, "fourth": 5, "mine": 5, "nnot": 5, "aapl": 5, "nholder": 5, "na": [5, 8], "301": 5, "npurchas": 5, "nshare": 5, "nperiod": 5, "ttotal": 5, "taverag": 5, "npaid": 5, "nannounc": 5, "napproxim": 5, "That": [5, 6, 8, 9], "nunder": 5, "njune": 5, "august": [5, 6, 8], "nopen": 5, "negoti": [5, 8], "t35": 5, "697": 5, "t224": 5, "naugust": 5, "31": [5, 6, 7], "t42": 5, "910": 5, "t221": 5, "39": [5, 6, 7], "nseptemb": 5, "t33": 5, "653": 5, "t222": 5, "86": [5, 7], "ntotal": [5, 8], "t112": 5, "260": 5, "t89": 5, "074": 5, "110": 5, "10b5": 5, "reinvest": 5, "dow": 5, "supersector": 5, "27": [5, 7, 8], "2019": 5, "n2218": 5, "tseptemb": 5, "t100": 5, "t207": 5, "t273": 5, "t281": 5, "t322": 5, "t430": 5, "t113": 5, "t156": 5, "t131": 5, "t155": 5, "t210": 5, "ndow": 5, "t146": 5, "t216": 5, "t215": 5, "nfirst": 5, "nsecond": 5, "nthird": 5, "sequoia": 5, "nfourth": 5, "plu": [5, 7], "nfiscal": 5, "six": 5, "realign": 5, "span": [5, 7, 8], "indirectli": 5, "n2024": 5, "tchang": 5, "t2023": 5, "t2022": 5, "namerica": 5, "t167": 5, "045": 5, "t3": 5, "t162": 5, "560": 5, "t169": 5, "658": 5, "neurop": 5, "t101": 5, "328": 5, "t7": 5, "294": 5, "t95": 5, "118": 5, "ngreater": 5, "t66": 5, "952": 5, "t72": 5, "559": 5, "t74": 5, "njapan": 5, "t25": 5, "052": 5, "t24": 5, "257": 5, "977": 5, "nrest": 5, "t30": 5, "t4": 5, "t29": 5, "615": 5, "t1": 5, "t391": 5, "035": 5, "t2": 5, "t383": 5, "285": 5, "t394": 5, "weak": [5, 6, 8], "renminbi": 5, "yen": [5, 9], "t201": 5, "183": 5, "t200": 5, "583": 5, "t205": 5, "489": 5, "984": 5, "357": 5, "t40": 5, "177": [5, 8], "t26": 5, "694": 5, "t28": 5, "300": 5, "292": 5, "t37": 5, "005": 5, "t39": 5, "845": [5, 8], "t41": 5, "241": 5, "n96": 5, "169": 5, "t13": 5, "t85": 5, "t9": 5, "t78": 5, "129": [5, 8], "amort": 5, "bundl": 5, "flat": [5, 6], "ngross": 5, "t109": 5, "633": 5, "t108": 5, "803": 5, "t114": 5, "728": 5, "t71": 5, "t60": 5, "345": 5, "t56": 5, "054": 5, "t180": 5, "683": 5, "148": 5, "t170": 5, "782": 5, "t36": 5, "t73": 5, "t70": 5, "t46": 5, "t44": 5, "t43": 5, "noper": 5, "t31": 5, "370": 5, "t5": 5, "915": 5, "t14": 5, "251": 5, "npercentag": 5, "t8": 5, "nsell": 5, "administr": 5, "097": 5, "932": 5, "094": 5, "t6": 5, "t57": 5, "467": 5, "t54": 5, "847": 5, "t51": 5, "t15": 5, "headcount": 5, "nprovis": 5, "749": 5, "t16": 5, "741": 5, "t19": 5, "neffect": 5, "nstatutori": 5, "t21": 5, "aid": [5, 8], "nliquid": 5, "unrestrict": 5, "140": 5, "ndebt": 5, "97": [5, 6, 8], "payabl": 5, "promissori": 5, "nleas": 5, "nmanufactur": 5, "noncancel": 5, "ndeem": 5, "tcja": 5, "nstate": 5, "fund": [5, 6, 7], "escrow": 5, "ncapit": 5, "95": [5, 8], "nrecent": 5, "pronounc": 5, "nincom": 5, "fasb": 5, "asu": 5, "09": [5, 6, 8], "740": 5, "reconcili": [5, 6], "reconcil": [5, 9], "disaggreg": 5, "prospect": 5, "novemb": [5, 8], "07": [5, 6, 8, 9], "280": 5, "maker": 5, "codm": 5, "retrospect": 5, "ncritic": 5, "conform": [5, 9], "gaap": 5, "nuncertain": 5, "domest": 5, "taxat": 5, "resolut": [5, 6], "conting": 5, "ninterest": 5, "forth": 5, "hypothet": 5, "nsensit": 5, "nhypothet": 5, "nrate": 5, "npotenti": 5, "n100": 5, "tenor": 5, "ndeclin": 5, "755": 5, "089": 5, "nterm": 5, "nincreas": 5, "t139": 5, "t194": 5, "nforeign": 5, "var": 5, "mont": 5, "carlo": 5, "interv": 5, "538": 5, "669": 5, "nindex": 5, "tpage": 5, "nconsolid": 5, "n29": 5, "n30": 5, "sheet": 5, "n31": 5, "n32": 5, "n33": 5, "nnote": 5, "n34": 5, "nreport": 5, "n48": 5, "nall": 5, "omit": 5, "submiss": 5, "nyear": 5, "n2023": 5, "n2022": 5, "nnet": 5, "t294": 5, "866": 5, "t298": 5, "085": 5, "t316": 5, "199": 5, "t96": 5, "ncost": 5, "t185": 5, "233": 5, "t189": 5, "282": 5, "471": 5, "119": 5, "855": 5, "t22": 5, "075": 5, "352": 5, "t214": 5, "137": 5, "t223": 5, "546": 5, "t123": 5, "216": 5, "t119": 5, "437": 5, "t269": 5, "565": 5, "334": 5, "485": 5, "736": 5, "103": 5, "t93": 5, "995": 5, "t99": 5, "nearn": 5, "nbasic": 5, "ndilut": 5, "08": [5, 7, 9], "343": [5, 8], "783": 5, "744": 5, "215": 5, "963": 5, "095": 5, "812": 5, "547": 5, "325": 5, "819": 5, "nsee": 5, "translat": [5, 7, 8], "t395": 5, "765": 5, "511": 5, "unreal": 5, "832": 5, "t323": 5, "212": 5, "nadjust": 5, "337": 5, "717": 5, "394": 5, "138": 5, "850": 5, "563": 5, "104": 5, "t204": 5, "t253": 5, "816": 5, "899": 5, "272": 5, "t98": 5, "016": 5, "652": 5, "t88": 5, "531": 5, "nasset": 5, "ncurrent": 5, "ncash": 5, "943": 5, "965": 5, "228": 5, "590": 5, "naccount": 5, "410": 5, "508": 5, "nvendor": 5, "t32": 5, "833": 5, "477": 5, "ninventori": 5, "286": 5, "331": 5, "287": 5, "695": 5, "t152": 5, "987": 5, "t143": 5, "566": 5, "t91": 5, "479": 5, "544": 5, "t45": 5, "680": 5, "715": 5, "834": 5, "t64": 5, "758": 5, "t211": 5, "993": 5, "t209": 5, "017": 5, "t364": 5, "980": [5, 8], "t352": 5, "nliabil": 5, "t68": 5, "960": 5, "t62": 5, "611": 5, "304": 5, "t58": 5, "829": 5, "ndefer": 5, "249": 5, "061": 5, "ncommerci": 5, "967": 5, "985": 5, "t10": 5, "912": 5, "822": 5, "t176": 5, "392": 5, "t145": 5, "308": 5, "750": 5, "888": 5, "t49": 5, "848": 5, "638": 5, "t308": 5, "030": [5, 7], "t290": 5, "ncommit": 5, "nsharehold": 5, "400": [5, 6], "116": 5, "786": 5, "550": 5, "n83": 5, "276": 5, "naccumul": 5, "deficit": 5, "154": 5, "214": 5, "172": 5, "452": 5, "950": 5, "146": [5, 8], "t50": 5, "672": 5, "t63": 5, "090": 5, "nbegin": 5, "849": 5, "365": 5, "423": 5, "346": [5, 6], "175": 5, "withheld": 5, "settlement": 5, "521": 5, "971": 5, "t12": 5, "034": 5, "t11": 5, "nend": 5, "t83": 5, "nretain": 5, "068": 5, "562": 5, "ndividend": 5, "218": 5, "793": 5, "612": 5, "099": 5, "454": 5, "846": 5, "77": [5, 6, 7], "046": 5, "186": 5, "109": 5, "t163": 5, "rsu": 5, "t0": 5, "98": [5, 6, 7], "94": [5, 6, 7, 8], "737": 5, "929": 5, "ndepreci": 5, "445": 5, "519": 5, "688": 5, "038": 5, "266": 5, "227": 5, "006": 5, "788": 5, "356": 5, "271": 5, "520": 5, "618": 5, "484": 5, "731": 5, "684": 5, "499": 5, "020": 5, "889": 5, "448": 5, "552": 5, "031": 5, "t118": 5, "254": 5, "t110": 5, "543": 5, "t122": 5, "151": 5, "48": [5, 7], "656": 5, "513": 5, "76": [5, 8], "923": 5, "nproce": 5, "211": 5, "686": 5, "917": 5, "135": 5, "828": [5, 6], "446": 5, "447": 5, "959": 5, "708": 5, "086": 5, "935": 5, "705": 5, "354": 5, "nfinanc": 5, "441": 5, "431": 5, "223": [5, 8], "234": [5, 8], "025": 5, "841": 5, "nrepurchas": 5, "949": 5, "89": [5, 8], "402": 5, "465": 5, "nrepay": 5, "958": 5, "repay": 5, "978": 5, "955": 5, "361": 5, "581": 5, "160": 5, "121": 5, "983": 5, "488": 5, "794": 5, "760": 5, "nsupplement": 5, "102": 5, "t18": 5, "679": 5, "573": 5, "33": [5, 6, 7, 8], "nbasi": 5, "prior": [5, 8], "reclassifi": 5, "nrevenu": 5, "remit": [5, 8], "straight": 5, "vest": 5, "sold": 5, "nderiv": 5, "nonleas": 5, "34": [5, 6, 8], "entitl": 5, "commenc": 5, "deliveri": 5, "stand": 5, "ssp": 5, "icloud": 5, "siri": 5, "discount": 5, "undeliv": 5, "unbil": 5, "n26": 5, "n37": 5, "moder": [5, 7], "64": [5, 7, 8], "dilut": 5, "nnumer": 5, "ndenomin": 5, "nweight": 5, "312": 5, "316": 5, "856": 5, "antidilut": 5, "tunreal": 5, "ngain": 5, "tfair": 5, "nvalu": 5, "tcash": 5, "nequival": 5, "tcurrent": 5, "tnon": 5, "t27": 5, "nlevel": 5, "nmonei": 5, "t778": 5, "nmutual": 5, "n515": 5, "t105": 5, "t617": 5, "nsubtot": 5, "293": 5, "395": 5, "nu": 5, "treasuri": 5, "516": 5, "t212": 5, "087": 5, "380": 5, "159": 5, "t703": 5, "t17": 5, "568": 5, "158": 5, "810": 5, "ncertif": 5, "deposit": 5, "t873": 5, "t387": 5, "t478": 5, "066": 5, "ncorpor": 5, "t65": 5, "622": 5, "t270": 5, "953": 5, "939": 5, "027": 5, "t47": 5, "886": 5, "nmunicip": 5, "t412": 5, "t405": 5, "t190": 5, "nmortgag": 5, "595": 5, "t175": 5, "403": 5, "t23": 5, "367": 5, "278": [5, 8], "t132": 5, "t583": 5, "635": 5, "t128": 5, "056": 5, "966": 5, "t34": 5, "t160": 5, "t688": 5, "650": 5, "36": [5, 6, 7, 8], "359": [5, 8], "t481": 5, "n442": 5, "t428": 5, "t923": 5, "t909": 5, "406": 5, "114": 5, "468": 5, "136": 5, "t271": 5, "533": 5, "048": [5, 7], "491": 5, "332": 5, "t320": 5, "t608": 5, "t76": 5, "840": 5, "956": 5, "890": 5, "t20": 5, "627": 5, "243": 5, "t628": 5, "t602": 5, "t192": 5, "t410": 5, "735": 5, "636": 5, "t344": 5, "t144": 5, "470": 5, "657": 5, "831": 5, "125": 5, "162": 5, "t173": 5, "752": 5, "corrobor": 5, "mortgag": [5, 6], "classifi": [5, 8], "37": [5, 7, 8], "swap": 5, "remeasur": 5, "notion": 5, "069": 5, "730": 5, "575": 5, "493": 5, "t104": 5, "777": 5, "nhedg": 5, "433": 5, "505": 5, "247": [5, 8], "ntrade": 5, "41": [5, 7, 8], "44": [5, 8], "depreci": 5, "nland": 5, "690": 5, "nmachineri": 5, "t80": 5, "205": [5, 7], "314": 5, "nleasehold": 5, "839": 5, "599": 5, "73": [5, 7, 8], "884": 5, "852": 5, "t55": 5, "906": 5, "601": 5, "703": 5, "010": 5, "457": 5, "634": 5, "391": 5, "neuropean": 5, "opinion": [5, 6, 8], "1991": 5, "2007": 5, "irish": 5, "branch": 5, "2003": 5, "2014": 5, "2015": 5, "minist": 5, "juli": [5, 8], "annul": 5, "ecj": 5, "hear": 5, "asid": 5, "confirm": 5, "unrecogn": [5, 6], "nfeder": 5, "571": 5, "080": 5, "644": 5, "265": 5, "801": 5, "726": 5, "570": 5, "298": 5, "49": [5, 6, 8], "t84": 5, "428": 5, "603": 5, "483": [5, 8], "t347": 5, "t669": 5, "076": 5, "830": 5, "419": 5, "072": 5, "pretax": 5, "72": [5, 6, 8], "ncomput": 5, "885": 5, "012": 5, "124": 5, "518": 5, "nimpact": 5, "246": 5, "311": 5, "366": 5, "397": 5, "nexcess": 5, "893": 5, "871": 5, "192": [5, 8], "739": 5, "ntax": 5, "carryforward": 5, "302": 5, "naccru": 5, "413": [5, 8], "421": 5, "nunreal": 5, "173": 5, "168": 5, "873": 5, "743": 5, "nless": 5, "374": 5, "007": 5, "369": 5, "551": 5, "998": 5, "nright": 5, "179": 5, "nminimum": 5, "674": 5, "940": 5, "t511": 5, "t455": 5, "t490": 5, "805": 5, "202": 5, "indefinit": 5, "temporari": 5, "727": 5, "044": 5, "284": 5, "ndecreas": 5, "386": 5, "463": 5, "982": 5, "542": 5, "936": 5, "070": 5, "expir": 5, "statut": 5, "229": 5, "494": 5, "closur": 5, "intercompani": 5, "exceed": [5, 8], "multiyear": 5, "exercis": 5, "noncash": 5, "rou": 5, "tfinanci": 5, "t2024": 5, "tother": 5, "661": 5, "tproperti": 5, "015": 5, "303": 5, "676": 5, "t165": 5, "t752": 5, "t859": 5, "430": 5, "842": [5, 8], "tfinanc": 5, "n2025": 5, "820": 5, "t171": 5, "991": 5, "n2026": 5, "914": 5, "n2027": 5, "t59": 5, "733": 5, "n2028": 5, "360": 5, "t38": 5, "398": 5, "n2029": 5, "187": 5, "nthereaft": 5, "t837": 5, "undiscount": 5, "790": 5, "imput": 5, "376": 5, "534": 5, "t896": 5, "borrow": 5, "proce": 5, "nine": [5, 8], "nmatur": 5, "333": 5, "264": 5, "948": 5, "645": 5, "309": 5, "arrear": 5, "namount": 5, "n2013": 5, "nfix": 5, "2062": 5, "t97": 5, "341": 5, "03": [5, 6], "65": [5, 8], "t106": 5, "572": 5, "n97": 5, "nunamort": 5, "321": 5, "358": 5, "113": 5, "662": 5, "930": 5, "342": 5, "800": 5, "180": 5, "88": [5, 6], "ndure": 5, "425": 5, "426": 5, "372": 5, "589": 5, "055": 5, "appreci": 5, "four": [5, 7, 8], "holder": [5, 7], "n2014": 5, "bonu": 5, "nrestrict": 5, "nnumber": 5, "nrsu": 5, "ngrant": 5, "naggreg": 5, "nfair": 5, "nbalanc": 5, "t240": 5, "427": [5, 8], "t75": 5, "t150": 5, "861": 5, "501": 5, "768": 5, "87": [5, 6, 7, 8], "101": [5, 8], "878": 5, "144": 5, "t127": 5, "t135": 5, "91": [5, 8], "456": 5, "78": [5, 7, 8], "59": [5, 8], "t140": 5, "326": 5, "t158": 5, "204": 5, "350": 5, "002": [5, 7], "nuncondit": 5, "uncondit": 5, "206": 5, "440": 5, "156": 5, "t633": 5, "t670": 5, "226": 5, "45": 5, "nconting": 5, "accrual": 5, "nconcentr": 5, "attribut": [5, 6, 7, 8, 9], "46": 5, "t67": 5, "098": 5, "082": 5, "062": 5, "569": 5, "895": 5, "458": 5, "207": 5, "nonrecur": 5, "t142": 5, "196": 5, "t138": 5, "t147": 5, "859": 5, "nchina": 5, "n66": 5, "t181": 5, "887": 5, "t172": 5, "269": 5, "nlong": 5, "664": 5, "797": 5, "778": 5, "219": 5, "nopinion": 5, "nwe": 5, "fairli": 5, "pcaob": 5, "sponsor": 5, "treadwai": 5, "2013": 5, "unqualifi": [5, 6], "thereon": 5, "nthese": 5, "misstat": 5, "fraud": [5, 8], "ndescript": 5, "naudit": 5, "nhow": 5, "nmatter": 5, "qualifi": 5, "letter": [5, 6], "advisor": 5, "ernst": 5, "llp": 5, "auditor": [5, 6], "2009": 5, "nsan": 5, "jose": 5, "nnovemb": 5, "coso": 5, "nour": 5, "ndefinit": 5, "disposit": 5, "receipt": 5, "nevalu": 5, "nbase": 5, "supervis": [5, 7, 8, 9], "13a": 5, "15d": 5, "ninher": 5, "paragraph": 5, "51": [5, 8, 9], "ninsid": 5, "deirdr": 5, "brien": 5, "vice": 5, "presid": 5, "affirm": 5, "april": 5, "withhold": 5, "remitt": 5, "mr": 5, "copi": [5, 6], "solicit": 5, "00042": 5, "nincorpor": 5, "texhibit": 5, "descript": [5, 6, 7, 8, 9], "tform": 5, "tfile": 5, "nrestat": 5, "namend": 5, "bylaw": 5, "nindentur": 5, "york": [5, 6, 7, 9], "mellon": 5, "truste": 5, "noffic": 5, "certif": 5, "2018": 5, "85": [5, 7, 8], "05": [5, 6], "2044": 5, "februari": 5, "2045": 5, "900": 5, "700": [5, 7], "250": [5, 8], "2036": 5, "2046": 5, "450": 5, "2047": 5, "2049": 5, "2030": 5, "2050": 5, "2060": 5, "2028": 5, "2041": 5, "2061": 5, "2032": 5, "2052": 5, "54": [5, 6], "2033": 5, "2053": 5, "n12": 5, "nsubsidiari": 5, "n23": 5, "nconsent": 5, "n24": 5, "npower": 5, "signatur": 5, "nrule": 5, "nsection": 5, "1350": 5, "n101": 5, "ninlin": 5, "xbrl": 5, "n104": 5, "inlin": 5, "compensatori": 5, "herewith": 5, "furnish": 5, "herebi": 5, "undertak": 5, "56": [5, 7, 8], "nsignatur": 5, "npursuant": 5, "duli": 5, "undersign": 5, "thereunto": 5, "ndate": 5, "nby": 5, "luca": [5, 9], "maestri": 5, "nluca": 5, "nsenior": 5, "nchief": 5, "nknow": 5, "THESE": 5, "appoint": 5, "cook": 5, "jointli": 5, "her": 5, "substitut": 5, "him": 5, "thereto": 5, "therewith": 5, "ratifi": 5, "virtu": 5, "hereof": 5, "nname": 5, "ttitl": 5, "tdate": 5, "tchief": 5, "tnovemb": 5, "ntimothi": 5, "tsenior": 5, "kondo": 5, "nchri": 5, "wanda": 5, "austin": 5, "nwanda": 5, "gorski": 5, "tdirector": 5, "nalex": 5, "jung": 5, "nandrea": 5, "arthur": 5, "levinson": 5, "narthur": 5, "monica": 5, "lozano": 5, "nmonica": 5, "ronald": 5, "sugar": 5, "nronald": 5, "susan": 5, "wagner": 5, "nsusan": 5, "57": [5, 7], "turbo": [5, 7, 9], "outlin": [5, 7, 8], "invdestacksmeticsisdict": 5, "setispect": 5, "20cyan": 5, "evaluationseld": 5, "anvis": 5, "droitent": 5, "discernminerv": 5, "versbobprefvers": 5, "vo\u8be5": 5, "option\u548c": 5, "meio": 5, "\u0432\u0440\u0435\u043ccisco": 5, "dellaischenpoihscap": 5, "geme": 5, "gettim": 5, "unscal": 5, "vocabulari": [5, 7, 9], "closer": 5, "sharpen": 5, "uniform": 5, "raschka": 5, "repetit": [5, 9], "radic": 5, "grappl": 5, "safer": [5, 8], "fascin": 5, "spontan": 5, "answer": [5, 6, 7, 8, 9], "aren": [5, 7], "linear": 5, "absent": [5, 8], "coax": 5, "journei": 5, "suddenli": 5, "manifest": 5, "deliber": [5, 8], "contend": 5, "rethink": [5, 8], "tutor": 5, "children": [5, 8], "verifi": [5, 6, 7, 9], "predefin": [5, 9], "weren": 5, "kind": [5, 6], "usual": [5, 9], "quantif": 5, "contamin": [5, 8], "unseen": [5, 8], "longitudin": 5, "mostli": [5, 9], "latter": 5, "tailor": [5, 8], "great": [5, 7, 8, 9], "cognit": 5, "misinform": [5, 8], "fabric": [5, 8], "citat": 5, "tempor": [5, 6], "disclaim": 5, "referr": 5, "incorrect": [5, 8], "demograph": [5, 8], "stereotyp": [5, 8], "societ": [5, 8], "pii": [5, 8], "anonym": 5, "leakag": [5, 8], "carryov": 5, "fallaci": 5, "think": [5, 7, 8], "idiom": 5, "sarcasm": 5, "terminologi": 5, "lingual": 5, "misunderstand": 5, "syntax": 5, "scan": [5, 6], "compat": [5, 6, 7, 9], "overconfid": [5, 6], "clariti": [5, 6, 8, 9], "audienc": 5, "densiti": 5, "satisfact": [5, 9], "misus": [5, 8], "moral": 5, "co2": 5, "etc": [5, 6, 9], "palm": [5, 7], "easi": [5, 6, 7, 8], "synthet": [5, 7, 8, 9], "templat": [5, 6, 9], "timeout": 5, "inter": 5, "rater": 5, "ti": 5, "holist": [5, 8], "built": [5, 7, 8, 9], "experiment": [5, 7, 9], "vi": 5, "categor": [5, 7, 8, 9], "intrins": [5, 7], "extrins": 5, "perplex": [5, 7], "downstream": [5, 9], "synthesi": 5, "discret": 5, "prefix": [5, 8], "roug": 5, "bleu": 5, "bilingu": 5, "understudi": 5, "overlap": [5, 6], "favor": [5, 7, 9], "breviti": 5, "insensit": 5, "semant": [5, 6, 9], "orient": [5, 8], "gist": 5, "meteor": 5, "synonym": 5, "paraphras": 5, "alongsid": [5, 8], "computation": [5, 6], "cider": 5, "consensu": 5, "tf": 5, "idf": 5, "caption": 5, "reliant": [5, 6], "corpu": [5, 6, 7], "ter": 5, "edit": [5, 8], "hypothesi": 5, "penal": 5, "bertscor": 5, "contextu": [5, 8], "bert": 5, "spice": 5, "proposit": [5, 7], "scene": [5, 6, 8], "analyst": [5, 6], "rouge_1": 5, "rouge_2": 5, "ideal": [5, 7, 8, 9], "setup": [5, 7, 8, 9], "evaluate_summari": 5, "unigram": 5, "bigram": 5, "absl": 5, "py": [5, 9], "rouge_scor": 5, "generated_summari": 5, "reference_summari": 5, "google_bleu": 5, "bleu_scor": 5, "rouge1": 5, "rouge2": 5, "arbitrari": 5, "chosen": [5, 8], "sentence1": 5, "cat": [5, 8], "sat": 5, "mat": 5, "sentence2": 5, "ate": 5, "3333333333333333": 5, "7272727272727272": 5, "4444444444444445": 5, "generate_summari": 5, "summir": 5, "liner": 5, "evaluate_summary_model": 5, "model_benchmark": 5, "models_test": 5, "benchmark_summari": 5, "model_summari": 5, "evaluation_result": 5, "statu": 5, "concis": [5, 7], "element": [5, 8, 9], "verbos": [5, 7, 8, 9], "peripher": 5, "quit": [5, 6, 7, 9], "convei": 5, "breadth": 5, "Of": [5, 7, 8], "vibe": 5, "visualize_prompt_comparison": 5, "matplotlib": 5, "radar": 5, "plot": 5, "radar_plot": 5, "tmp": 5, "ipykernel_1652501": 5, "940173201": 5, "userwarn": [5, 9], "figurecanvasagg": 5, "largest": [5, 7], "sarmah": 5, "granular": [5, 6, 7], "likert": 5, "ensembl": 5, "repeatedli": [5, 6], "fluenci": 5, "refin": 5, "integ": [5, 9], "rubric": 5, "hollist": 5, "judgeevalu": 5, "grammar": [5, 7, 9], "evaluate_with_llm": 5, "criterion": 5, "judge_model": 5, "candidate_summari": 5, "grammat": 5, "y": [5, 6, 8, 9], "z": 5, "w": [5, 6, 7, 8], "benchmark_model": 5, "test_model": 5, "input_text": [5, 6, 7], "trillion": [5, 7, 9], "evals_list": 5, "1775618912": 5, "slightli": 5, "drift": [5, 8], "lowest": [5, 7], "firstli": 5, "overhead": [5, 7], "egocentr": 5, "tight": 5, "medicin": [5, 8], "glider": 5, "deshpand": 5, "3b": 5, "685": 5, "aplic": 5, "golden": 5, "earlier": [5, 8], "depict": [5, 8, 9], "multilingu": [5, 7, 8], "arena": 5, "randomli": 5, "customiz": [5, 7, 8], "irrelev": 5, "unhelp": [5, 8], "occasion": 5, "rare": 5, "perfectli": 5, "cater": [5, 7], "critiqu": [5, 8], "elo": 5, "exam": 5, "probe": [5, 8], "certifi": 5, "glue": 5, "entail": [5, 7], "superglu": 5, "successor": 5, "grew": 5, "big": [5, 7], "bench": [5, 7], "srivastava": 5, "truthfulqa": [5, 7], "multitask": 5, "hendryck": [5, 8], "multidisciplinari": 5, "stanford": 5, "helm": 5, "multidimension": 5, "surround": [5, 7, 8, 9], "humanev": [5, 7], "lmsy": 5, "brought": 5, "dialogu": [5, 7], "chiang": 5, "gather": 5, "hundr": [5, 7], "alpacaev": 5, "duboi": 5, "mt": 5, "argilla": 5, "mila": 5, "mit": [5, 7], "contributor": [5, 7, 9], "western": 5, "centric": 5, "divid": [5, 6, 8], "subset": [5, 8], "agnost": 5, "dialect": 5, "render": [5, 8], "crowdsourc": 5, "livebench": 5, "white": [5, 8], "resili": [5, 6, 8], "meaningfulli": 5, "satur": 5, "zebralog": 5, "grid": 5, "puzzl": 5, "brailsford": 5, "1999": 5, "lsat": 5, "hous": 5, "clue": 5, "deduct": 5, "programmat": [5, 9], "2x2": 5, "6x6": 5, "shot": [5, 8, 9], "reductio": 5, "ad": [5, 6, 7, 9], "absurdum": 5, "hard": [5, 6], "10b": 5, "counterfactu": 5, "mileston": [5, 7], "came": 5, "arc": 5, "prize": [5, 8], "chollet": 5, "mike": [5, 6, 8], "knoop": 5, "founder": 5, "zapier": 5, "fran\u00e7oi": 5, "creator": [5, 7], "kera": 5, "genuin": 5, "agi": 5, "possess": [5, 6], "elementari": 5, "novelti": 5, "interpol": 5, "synthes": 5, "fly": 5, "brute": 5, "pixel": 5, "color": [5, 6], "unbeaten": 5, "win": [5, 7], "takeawai": 5, "vertic": [5, 8], "finbench": 5, "legalbench": 5, "guha": 5, "berkelei": [5, 8], "bfcl": 5, "patil": 5, "fourrier": 5, "bespok": 5, "sdk": 5, "autoregress": 5, "sub": [5, 7], "liter": 5, "disturb": 5, "zero": [5, 7, 8, 9], "varianc": [5, 8], "yt": 5, "ut": 5, "ol": 5, "heteroscedast": 5, "regress": 5, "wish": 5, "bivari": 5, "evaluationtrack": 5, "pipelineparamet": 5, "cache_dir": 5, "max_sampl": 5, "basemodelconfig": 5, "evaluation_track": 5, "model_config": 5, "parallelismmanag": 5, "envconfig": 5, "is_accelerate_avail": 5, "datetim": [5, 6], "timedelta": [5, 6], "initprocessgroupkwarg": 5, "create_evaluation_pipelin": 5, "float16": 5, "kwargs_handl": 5, "3000": 5, "save_detail": 5, "pipeline_param": 5, "launcher_typ": 5, "env_config": 5, "override_batch_s": 5, "use_chat_templ": 5, "trust_remote_cod": 5, "pipeline_paramet": 5, "schemat": [5, 6], "vllm": [5, 9], "tgi": 5, "num_few_shot": 5, "bar": 5, "bigbench": 5, "winogrand": 5, "hellaswag": 5, "nlp": [5, 6, 7, 8], "save_and_push_result": 5, "show_result": 5, "model_arg": 5, "send": [5, 6, 7, 8, 9], "serverless": 5, "inference_server_address": 5, "inference_server_auth": 5, "model_id": 5, "null": 5, "bash": [5, 7], "command": [5, 6, 7], "model_config_path": 5, "endpoint_model": 5, "llama3": 5, "qwen2": [5, 7, 9], "alibaba": [5, 7, 9], "5b": [5, 7, 9], "hui": [5, 7], "allal": [5, 7], "cluster": 5, "noteworthi": [5, 7], "superior": [5, 8], "grain": [5, 7, 9], "salt": [5, 9], "modular": 5, "offici": 5, "revisit": 5, "langchain": [5, 6], "trace": 5, "langchain_tracing_v2": 5, "langchain_api_kei": 5, "hf_evalu": 5, "langsmith_evalu": 5, "ls_client": 5, "dataset_nam": 5, "create_dataset": 5, "create_exampl": 5, "dataset_id": 5, "calculate_scor": 5, "reference_output": 5, "oai_client": 5, "xp_model_nam": 5, "lastli": 5, "run_evalu": 5, "And": [5, 6, 7, 8], "upload_result": 5, "experiment_prefix": 5, "num_repetit": 5, "386a3620": 5, "9e1cc3cb": 5, "9d6a": 5, "4356": 5, "ab34": 5, "138e0abe8be4": 5, "8741976e": 5, "5268": 5, "4b75": 5, "949f": 5, "99477dde5d64": 5, "selectedsess": 5, "b831dc1e": 5, "90bc": 5, "4ed8": 5, "8080": [5, 7], "fb42444724d6": 5, "4it": 5, "latest": [5, 6, 7, 8, 9], "tobia": [5, 9], "evaluate_modul": 5, "6fc70b7be0088120a372dfdd5d320b39b8bb3630cb8029b193941d9376e86bb0": 5, "tue": 5, "nov": [5, 7], "couldn": 5, "5it": 5, "5053784e": 5, "64445871": 5, "a53c": 5, "44b1": 5, "a422": 5, "4f49b2f9656f": 5, "69": [5, 8], "4b29f3c9": 5, "9ef7e39a": 5, "2add": 5, "410c": 5, "89f8": 5, "9f1a8b198cf1": 5, "61": [5, 8], "insert": [5, 6], "combined_df": 5, "concat": [5, 8], "ignore_index": [5, 8], "execution_tim": 5, "example_id": 5, "333333": 5, "224388": 5, "feb10f92": 5, "3167": 5, "41f3": 5, "bb1c": 5, "d271153a31a8": 5, "5b196b22": 5, "9f4c": 5, "489c": 5, "b020": 5, "7823208b42d6": 5, "348101": 5, "722464": 5, "c310f159": 5, "064a": 5, "4035": 5, "97c3": 5, "a25bbf43abc2": 5, "386076": 5, "704104": 5, "f7f24899": 5, "dd50": 5, "409e": 5, "93cc": 5, "6fb1622b60bf": 5, "443038": 5, "725059": 5, "242856d6": 5, "efb5": 5, "4101": 5, "b1cf": 5, "5805532838ac": 5, "373418": 5, "795302": 5, "ce975169": 5, "a0ab": 5, "40ce": 5, "8e32": 5, "efa28d06079d": 5, "stat": [5, 7], "groupbi": [5, 8], "agg": [5, 8], "sort": 5, "sort_valu": 5, "subplot": 5, "pyplot": 5, "plt": 5, "ax1": 5, "ax2": 5, "figsiz": 5, "2ecc71": 5, "3498db": 5, "e74c3c": 5, "bleu_mean": 5, "bleu_std": 5, "enumer": [5, 6, 8], "errorbar": 5, "yerr": 5, "fmt": 5, "markers": 5, "capsiz": 5, "set_ylabel": 5, "set_titl": 5, "set_xtick": 5, "set_xticklabel": 5, "rotat": 5, "set_ylim": 5, "bottom": 5, "legend": 5, "exec_mean": 5, "exec_std": 5, "tight_layout": 5, "ndetail": 5, "4038": 5, "0453": 5, "7815": 5, "0433": 5, "3768": 5, "0424": 5, "8343": 5, "2208": 5, "3519": 5, "0775": 5, "9122": 5, "1482": 5, "377": 5, "042": 5, "078": 5, "slower": [5, 8], "04": [5, 7], "interestingli": 5, "decoupl": 5, "reload": 5, "facilit": [5, 8], "promptfooconfig": 5, "model_comparison": 5, "pretti": [5, 8], "dump": 5, "default_flow_styl": 5, "sort_kei": 5, "prompt1": 5, "defaulttest": 5, "ye": [5, 7, 8, 9], "1000m": 5, "eval_data": 5, "latency_m": 5, "totallatencym": 5, "token_usag": 5, "tokenusag": 5, "assert_pass": 5, "assertpasscount": 5, "assert_fail": 5, "assertfailcount": 5, "prompt_token": [5, 7], "num_request": 5, "numrequest": 5, "num": 5, "2463": 5, "000035": 5, "3773": 5, "004620": 5, "1669": 5, "000091": 5, "1669m": 5, "highest": [5, 7, 9], "3773m": 5, "00462": 5, "promptfool": 5, "manual": [5, 6, 7, 8], "redefin": 5, "prompt_comparison": 5, "prompt2": 5, "prompt3": 5, "prompt_fil": 5, "prompt_cont": 5, "BE": 5, "again": 5, "prompt_id": 5, "promptid": 5, "gradingresult": 5, "df_raw": 5, "reset_index": [5, 8], "poorli": 5, "eas": [5, 7, 8, 9], "hf": [5, 7], "plain": [5, 6, 7], "vanilla": 5, "defi": 5, "accustom": 5, "legaci": 5, "unsustain": 5, "prd": 5, "cultiv": [5, 8], "organiz": 5, "alb": [5, 7], "loubna": [5, 7], "anton": [5, 7], "lozhkov": [5, 7], "bakouch": [5, 7], "gabriel": [5, 7, 8], "mart\u00edn": [5, 7, 8], "bl\u00e1zquez": [5, 7], "lewi": [5, 6, 7], "tunstal": [5, 7], "agust\u00edn": [5, 7], "piquer": [5, 7], "andr": [5, 6, 7], "marafioti": [5, 7], "cyril": [5, 7], "zakka": [5, 7], "leandro": [5, 7], "werra": [5, 7], "wolf": [5, 7], "are24": 5, "judgearena": 5, "bps99": 5, "salli": 5, "pott": 5, "barbara": 5, "557": [5, 8], "sciencedirect": 5, "s0377221798003646": 5, "doi": [5, 6, 8, 9], "1016": 5, "s0377": 5, "2217": 5, "00364": 5, "ctj": 5, "jerri": [5, 8], "tworek": [5, 8], "heewoo": [5, 8], "jun": [5, 8], "qime": [5, 8], "henriqu": [5, 8], "pond": [5, 8], "de": [5, 8], "oliveira": [5, 8], "pinto": [5, 8], "harri": [5, 8], "yuri": 5, "burda": 5, "greg": [5, 8], "brockman": [5, 8], "raul": [5, 8], "puri": [5, 8], "gretchen": [5, 8], "krueger": [5, 8], "petrov": [5, 8], "heidi": 5, "khlaaf": 5, "girish": [5, 8], "sastri": [5, 8], "brook": [5, 8], "chan": [5, 8], "grai": [5, 8], "ryder": [5, 8], "mikhail": [5, 8], "pavlov": [5, 8], "alethea": [5, 8], "lukasz": 5, "kaiser": [5, 8], "mohammad": [5, 8], "bavarian": [5, 8], "clemen": [5, 8], "winter": [5, 8], "philipp": 5, "tillet": [5, 8], "felip": [5, 8], "petroski": [5, 8], "dave": [5, 8], "cum": [5, 8], "plappert": 5, "fotio": 5, "chantzi": [5, 8], "barn": 5, "ariel": 5, "herbert": 5, "voss": [5, 8], "hebgen": 5, "guss": 5, "nichol": 5, "paino": [5, 8], "nikola": [5, 8], "tezak": [5, 8], "babuschkin": [5, 8], "suchir": [5, 8], "balaji": [5, 8], "shantanu": [5, 8], "jain": [5, 8], "hess": [5, 8], "carr": 5, "josh": [5, 8], "achiam": [5, 8], "vedant": 5, "misra": 5, "evan": [5, 7, 8], "morikawa": [5, 8], "matthew": 5, "knight": [5, 8], "mile": [5, 8], "brundag": [5, 8], "mira": [5, 8], "murati": [5, 8], "kati": [5, 8], "mayer": [5, 8], "bob": [5, 8, 9], "mcgrew": [5, 8], "ilya": [5, 8], "sutskev": [5, 8], "wojciech": [5, 8], "zaremba": [5, 8], "2107": 5, "03374": 5, "cz": 5, "lianmin": 5, "ying": 5, "sheng": 5, "anastasio": 5, "angelopoulo": 5, "tianl": 5, "dacheng": 5, "banghua": 5, "jordan": [5, 8], "gonzalez": 5, "ion": 5, "stoica": 5, "04132": 5, "cho24a": 5, "francoi": 5, "arcpriz": 5, "cho24b": 5, "drcw": 5, "darshan": 5, "selvan": 5, "sunitha": 5, "ravi": 5, "sky": 5, "ch": 5, "bartosz": 5, "mielczarek": 5, "anand": [5, 8], "kannappan": [5, 8], "qian": [5, 8], "14140": 5, "dglh24": 5, "yann": 5, "bal\u00e1z": 5, "galambosi": 5, "tatsunori": 5, "hashimoto": 5, "debia": 5, "04475": 5, "fac24a": 5, "wiki": [5, 9], "fac24b": 5, "fac24c": 5, "model_doc": 5, "fac24d": 5, "cookbook": 5, "llm_judg": 5, "fac24f": 5, "fhwt23": 5, "cl\u00e9mentin": 5, "nathan": 5, "habib": 5, "gnh": 5, "julian": 5, "nyarko": 5, "ho": 5, "r\u00e9": 5, "adam": [5, 8], "chilton": 5, "aditya": [5, 8], "narayana": 5, "chohla": 5, "brandon": [5, 8, 9], "waldon": 5, "rockmor": 5, "diego": 5, "zambrano": 5, "dmitri": 5, "talisman": 5, "enam": 5, "hoqu": 5, "faiz": 5, "surani": 5, "frank": [5, 8], "fagan": 5, "galit": 5, "sarfati": 5, "gregori": 5, "dickinson": 5, "haggai": 5, "porat": 5, "hegland": 5, "jessica": [5, 8], "joe": [5, 8], "nudel": 5, "joel": [5, 8], "niklau": 5, "nai": 5, "choi": 5, "margaret": [5, 7], "hagan": 5, "megan": 5, "livermor": 5, "nikon": 5, "rasumov": 5, "rahe": 5, "nil": 5, "holzenberg": 5, "noam": 5, "kolt": 5, "henderson": 5, "rehaag": 5, "sharad": 5, "shang": 5, "spencer": 5, "sunni": 5, "gandhi": 5, "zur": 5, "varun": 5, "iyer": [5, 8], "zehua": 5, "2308": 5, "11462": 5, "hbb": 5, "collin": 5, "burn": 5, "steven": [5, 8], "basart": [5, 8], "zou": [5, 8], "manta": [5, 8], "mazeika": [5, 8], "03300": 5, "hbd": 5, "maxwel": 5, "forb": 5, "yejin": 5, "curiou": 5, "neural": [5, 9], "degener": 5, "1904": 5, "09751": 5, "hyc": [5, 7], "binyuan": [5, 7], "zeyu": [5, 7], "cui": [5, 7], "jiaxi": [5, 7], "dayiheng": [5, 7], "tianyu": [5, 7], "jiajun": [5, 7], "kai": [5, 7, 8], "dang": [5, 7], "coder": [5, 7], "preprint": [5, 7, 9], "2409": [5, 7, 8], "12186": [5, 7], "lx": 5, "zhen": 5, "xiaohan": 5, "jia": 5, "yuxuan": 5, "lai": 5, "chongyang": 5, "shuai": 5, "nlg": 5, "07103": 5, "lbl": 5, "bommasani": 5, "toni": 5, "dimitri": 5, "tsipra": 5, "dilara": 5, "soylu": 5, "michihiro": 5, "yasunaga": 5, "yian": 5, "deepak": 5, "narayanan": 5, "yuhuai": 5, "newman": 5, "binhang": 5, "bobbi": 5, "ce": 5, "christian": [5, 8], "cosgrov": 5, "acosta": 5, "nava": [5, 8], "drew": 5, "hudson": 5, "zelikman": 5, "esin": 5, "durmu": 5, "faisal": 5, "ladhak": 5, "frieda": 5, "rong": [5, 6], "ren": [5, 7], "huaxiu": 5, "yao": [5, 8, 9], "jue": 5, "keshav": 5, "santhanam": 5, "laurel": 5, "lucia": 5, "mert": 5, "yuksekgonul": 5, "mirac": 5, "suzgun": 5, "niladri": 5, "chatterji": 5, "omar": 5, "khattab": 5, "chi": [5, 8, 9], "sang": [5, 8], "shibani": [5, 8], "santurkar": [5, 8], "surya": 5, "icard": 5, "tianyi": 5, "vishrav": 5, "chaudhari": 5, "xuechen": 5, "yuhui": 5, "yuta": 5, "koreeda": 5, "2211": 5, "09110": 5, "lbc24": 5, "ronan": 5, "bra": 5, "allenai": 5, "lhe22": [5, 7, 8], "stephani": [5, 7, 8], "owain": [5, 7, 8], "mimic": [5, 7, 8], "falsehood": [5, 7, 8], "2109": [5, 7, 8], "07958": [5, 7, 8], "pzwg23": 5, "shishir": 5, "tianjun": 5, "xin": [5, 8], "gorilla": 5, "15334": 5, "pro24": 5, "dev": 5, "ras24": 5, "sebastian": [5, 6], "scratch": 5, "1633437166": 5, "sll": 5, "bhaskarjit": 5, "mingshu": 5, "jingrao": 5, "lyu": 5, "nathalia": 5, "castellano": 5, "pasquali": 5, "dhagash": 5, "12148": 5, "srf": 5, "shivalika": 5, "angelika": 5, "roman": [5, 8], "adelani": 5, "ngui": 5, "vila": 5, "suero": 5, "peerat": 5, "limkonchotiwat": 5, "kelli": 5, "marchisio": 5, "qi": 5, "leong": 5, "yosephin": 5, "susanto": 5, "raymond": [5, 8], "ng": [5, 8], "shayn": 5, "longpr": 5, "ko": 5, "madelin": 5, "antoin": 5, "bosselut": 5, "oh": 5, "leshem": 5, "choshen": 5, "daphn": 5, "ippolito": 5, "enzo": [5, 9], "ferrant": 5, "marzieh": 5, "fadae": 5, "beyza": 5, "ermi": 5, "sara": 5, "hooker": 5, "linguist": [5, 6, 8], "03304": 5, "srr": 5, "aarohi": 5, "abhinav": 5, "rastogi": 5, "abhishek": 5, "rao": 5, "abu": 5, "awal": 5, "shoeb": 5, "abubakar": 5, "abid": [5, 7], "fisch": 5, "santoro": 5, "gupta": 5, "adri\u00e0": 5, "garriga": 5, "alonso": 5, "agnieszka": 5, "kluska": 5, "aitor": 5, "lewkowycz": 5, "akshat": 5, "warstadt": 5, "alexand": [5, 8, 9], "kocurek": 5, "ali": [5, 8], "safaya": 5, "tazarv": 5, "aman": 5, "hussain": 5, "dsouza": 5, "ambros": 5, "slone": 5, "ameet": 5, "rahan": 5, "anantharaman": 5, "ander": 5, "andreassen": 5, "madotto": 5, "santilli": 5, "stuhlm\u00fcller": 5, "la": 5, "lampinen": 5, "angelica": 5, "anh": 5, "vuong": 5, "animesh": 5, "gottardi": 5, "antonio": 5, "norelli": 5, "anu": 5, "venkatesh": 5, "arash": 5, "gholamidavoodi": 5, "arfa": 5, "tabassum": 5, "arul": 5, "menez": 5, "arun": [5, 8], "kirubarajan": 5, "asher": 5, "mullokandov": 5, "ashish": 5, "sabharw": 5, "herrick": 5, "avia": 5, "efrat": 5, "aykut": 5, "erdem": 5, "ayla": 5, "karaka\u015f": 5, "bao": [5, 7, 8], "loe": 5, "barret": [5, 8], "zoph": [5, 8], "bart\u0142omiej": 5, "bojanowski": 5, "batuhan": 5, "\u00f6zyurt": 5, "behnam": 5, "hedayatnia": 5, "neyshabur": 5, "inden": 5, "benno": 5, "stein": 5, "berk": 5, "ekmekci": 5, "blake": 5, "howald": 5, "bryan": 5, "orinion": 5, "diao": 5, "dour": 5, "stinson": 5, "cedrick": 5, "argueta": 5, "c\u00e9sar": 5, "ferri": 5, "ram\u00edrez": 5, "chandan": 5, "charl": 5, "rathkopf": 5, "chenlin": 5, "meng": 5, "chitta": 5, "baral": 5, "chiyu": 5, "callison": 5, "burch": 5, "voigt": 5, "cindi": 5, "ramirez": 5, "clara": 5, "rivera": 5, "clemencia": 5, "siro": 5, "colin": [5, 7], "raffel": [5, 7], "courtnei": 5, "ashcraft": 5, "cristina": 5, "garbacea": 5, "damien": [5, 8], "sileo": 5, "garrett": 5, "kilman": 5, "freeman": 5, "khashabi": 5, "levi": [5, 8], "mosegu\u00ed": 5, "gonz\u00e1lez": 5, "perszyk": 5, "danqi": 5, "dar": 5, "gilboa": 5, "dohan": [5, 8], "drakard": 5, "jurgen": 5, "debajyoti": 5, "datta": 5, "deni": 5, "emelin": 5, "kleyko": 5, "deniz": 5, "yuret": 5, "derek": [5, 8], "tam": [5, 9], "dieuwk": 5, "hupk": 5, "diganta": 5, "dilyar": 5, "buzan": 5, "coelho": 5, "mollo": 5, "diyi": 5, "dylan": 5, "schrader": 5, "ekaterina": 5, "shutova": 5, "ekin": 5, "dogu": 5, "cubuk": 5, "elad": 5, "segal": 5, "eleanor": 5, "hagerman": 5, "donowai": 5, "elli": 5, "pavlick": 5, "rodola": 5, "emma": 5, "lam": 5, "chu": [5, 8], "erkut": 5, "erni": 5, "dyer": 5, "jerzak": 5, "eunic": 5, "engefu": 5, "manyasi": 5, "evgenii": 5, "zheltonozhskii": 5, "fanyu": 5, "fatemeh": 5, "siar": 5, "fernando": 5, "mart\u00ednez": 5, "plume": 5, "francesca": 5, "happ\u00e9": 5, "gaurav": 5, "genta": 5, "indra": 5, "winata": 5, "gerard": 5, "melo": 5, "germ\u00e1n": 5, "kruszewski": 5, "giambattista": [5, 8], "parascandolo": [5, 8], "giorgio": 5, "mariani": 5, "gloria": 5, "gonzalo": 5, "jaimovitch": 5, "l\u00f3pez": 5, "gregor": 5, "betz": 5, "gui": [5, 7], "gur": 5, "hana": 5, "galijasev": 5, "rashkin": 5, "hannaneh": 5, "hajishirzi": 5, "harsh": 5, "hayden": 5, "bogar": 5, "henri": [5, 8], "shevlin": 5, "hinrich": 5, "sch\u00fctze": 5, "hiromu": 5, "yakura": 5, "hongm": 5, "hugh": 5, "mee": 5, "wong": [5, 6, 8], "isaac": 5, "nobl": 5, "jaap": 5, "jumelet": 5, "geissing": 5, "jaehoon": 5, "jaim": 5, "fern\u00e1ndez": 5, "fisac": 5, "simon": 5, "koppel": 5, "koco\u0144": 5, "jana": 5, "thompson": [5, 7, 8], "janel": 5, "wingfield": 5, "jarema": 5, "radom": 5, "jascha": 5, "sohl": [5, 8], "dickstein": 5, "phang": 5, "yosinski": 5, "jekaterina": 5, "novikova": 5, "jell": 5, "bosscher": 5, "jennif": 5, "marsh": 5, "jeroen": 5, "taal": 5, "engel": 5, "jesujoba": 5, "alabi": 5, "jiam": 5, "jillian": 5, "joan": 5, "waweru": 5, "burden": 5, "bali": 5, "batcheld": 5, "berant": 5, "j\u00f6rg": 5, "frohberg": 5, "jo": 5, "rozen": 5, "orallo": 5, "boudeman": 5, "guerr": 5, "tenenbaum": 5, "joyc": 5, "chua": 5, "kanclerz": 5, "karen": 5, "livescu": 5, "karl": 5, "krauth": 5, "karthik": 5, "gopalakrishnan": 5, "katerina": 5, "ignatyeva": 5, "katja": 5, "markert": 5, "kaustubh": 5, "dhole": 5, "gimpel": 5, "omondi": 5, "kori": 5, "mathewson": 5, "kristen": 5, "chiafullo": 5, "ksenia": 5, "shkaruta": 5, "shridhar": 5, "kyle": [5, 6, 8], "mcdonel": 5, "richardson": 5, "laria": 5, "reynold": 5, "leo": [5, 8], "dugan": 5, "lianhui": 5, "lidia": 5, "contrera": 5, "ochando": 5, "morenc": 5, "moschella": 5, "luci": 5, "ludwig": 5, "schmidt": [5, 8], "luheng": 5, "olivero": 5, "col\u00f3n": 5, "metz": [5, 8], "l\u00fctfi": 5, "kerem": 5, "\u015fenel": 5, "maarten": [5, 8], "bosma": 5, "sap": [5, 8], "maartj": 5, "hoev": 5, "maheen": 5, "farooqi": 5, "manaal": 5, "faruqui": 5, "marco": 5, "baturan": 5, "marelli": 5, "maru": 5, "maria": 5, "quintana": 5, "tolkiehn": 5, "mario": [5, 8], "giulianelli": 5, "martha": 5, "potthast": 5, "leavitt": 5, "hagen": 5, "m\u00e1ty\u00e1": 5, "schubert": 5, "medina": [5, 8], "orduna": 5, "baitemirova": 5, "melodi": 5, "arnaud": 5, "melvin": 5, "mcelrath": 5, "yee": 5, "cohen": 5, "ivanitskii": 5, "starritt": 5, "strube": 5, "micha\u0142": 5, "sw\u0119drowski": 5, "michel": [5, 8], "bevilacqua": 5, "mihir": 5, "kale": 5, "cain": 5, "mime": 5, "mitch": 5, "walker": 5, "mo": 5, "tiwari": 5, "mohit": 5, "bansal": 5, "moin": 5, "aminnaseri": 5, "mor": 5, "geva": 5, "mozhdeh": 5, "gheini": 5, "mukund": 5, "varma": 5, "nanyun": 5, "peng": [5, 8], "nayeon": 5, "neta": 5, "krakov": 5, "doiron": 5, "nicol": 5, "martinez": 5, "nikita": 5, "nangia": 5, "nikla": 5, "decker": 5, "muennighoff": 5, "nitish": [5, 8], "shirish": [5, 8], "keskar": [5, 8], "niveditha": 5, "constant": 5, "fiedel": 5, "nuan": 5, "wen": [5, 6], "oliv": [5, 8], "agha": 5, "elbaghdadi": 5, "omer": 5, "moreno": 5, "casar": 5, "parth": 5, "doshi": 5, "pascal": 5, "fung": 5, "pu": 5, "vicol": 5, "pegah": 5, "alipoormolabashi": 5, "peiyuan": 5, "eckerslei": 5, "phu": 5, "mon": 5, "htut": 5, "pinyu": 5, "hwang": 5, "piotr": 5, "mi\u0142kowski": 5, "piyush": 5, "pouya": 5, "pezeshkpour": 5, "priti": 5, "oli": 5, "qiaozhu": 5, "mei": [5, 7], "qing": [5, 8], "qinlang": 5, "rabin": 5, "banjad": 5, "rachel": [5, 8], "etta": 5, "rudolph": 5, "raefer": 5, "rahel": 5, "haback": 5, "ramon": 5, "risco": 5, "rapha\u00ebl": 5, "milli\u00e8r": 5, "rhythm": 5, "garg": [5, 7], "rif": 5, "saurou": 5, "riku": 5, "arakawa": 5, "robb": 5, "raymaek": 5, "rohan": 5, "sikand": 5, "novak": 5, "sitelew": 5, "lebra": 5, "rosann": 5, "rowan": [5, 8], "ruslan": 5, "salakhutdinov": 5, "stoval": 5, "teehan": 5, "sahib": 5, "saif": 5, "sajant": 5, "dillav": 5, "shleifer": 5, "wiseman": 5, "gruetter": 5, "schoenholz": 5, "sanghyun": 5, "sanjeev": 5, "kwatra": 5, "sarik": 5, "ghazarian": 5, "sayan": 5, "casei": [5, 8], "bischoff": 5, "gehrmann": 5, "schuster": 5, "sepideh": 5, "sadeghi": 5, "shadi": 5, "hamdan": 5, "sharon": 5, "shashank": 5, "sherri": 5, "shi": [5, 8], "shikhar": 5, "shima": 5, "asaadi": 5, "shubh": 5, "pachchigar": 5, "shubham": 5, "toshniw": 5, "shyam": [5, 8], "upadhyai": 5, "shyamolima": 5, "debnath": 5, "siamak": 5, "shakeri": 5, "thormey": 5, "melzi": 5, "siva": 5, "reddi": 5, "sneha": 5, "priscilla": 5, "makini": 5, "soo": 5, "hwan": 5, "toren": 5, "sriharsha": 5, "hatwar": 5, "stanisla": 5, "dehaen": 5, "stefan": 5, "divic": 5, "stella": 5, "biderman": 5, "stephen": 5, "prasad": 5, "piantadosi": 5, "stuart": [5, 8], "shieber": 5, "summer": [5, 8], "misherghi": 5, "svetlana": 5, "kiritchenko": 5, "swaroop": 5, "tal": 5, "linzen": 5, "tariq": 5, "tatsu": 5, "te": 5, "th\u00e9o": 5, "desbord": 5, "theodor": 5, "rothschild": 5, "phan": [5, 8], "tiberiu": 5, "nkinyili": 5, "timo": 5, "schick": 5, "timofei": 5, "kornev": 5, "titu": 5, "tunduni": 5, "gerstenberg": 5, "trenton": 5, "trishala": 5, "neeraj": 5, "tushar": 5, "khot": 5, "shultz": 5, "uri": 5, "shaham": 5, "vera": 5, "demberg": 5, "victoria": [5, 8], "nyamai": 5, "vika": 5, "raunak": 5, "vinai": 5, "ramasesh": 5, "udai": 5, "prabhu": 5, "vishakh": 5, "padmakumar": 5, "vivek": [5, 6], "srikumar": [5, 6], "fedu": [5, 8], "wout": 5, "vossen": 5, "xiaoyu": 5, "tong": [5, 8], "xinran": 5, "xinyi": 5, "yadollah": 5, "yaghoobzadeh": 5, "yair": 5, "lakretz": 5, "yangqiu": 5, "yasaman": 5, "bahri": 5, "yichi": 5, "yide": 5, "yifu": 5, "yonatan": 5, "belinkov": 5, "yufang": 5, "seid": 5, "zhuoy": 5, "zijian": 5, "ziji": 5, "zirui": 5, "ziyi": 5, "extrapol": 5, "2206": 5, "04615": 5, "wpn": 5, "yada": 5, "pruksachatkun": 5, "amanpreet": 5, "hill": 5, "stickier": 5, "wsm": 5, "1804": 5, "07461": 5, "wtb": 5, "tai": 5, "borgeaud": 5, "dani": 5, "yogatama": 5, "denni": [5, 8], "donald": 5, "metzler": 5, "ed": 5, "oriol": 5, "vinyal": 5, "dean": 5, "07682": 5, "wdr": 5, "doolei": 5, "manlei": 5, "arka": [5, 8], "pal": 5, "feuer": 5, "siddhartha": 5, "ravid": 5, "shwartz": [5, 8], "ziv": 5, "khalid": [5, 7], "saifullah": 5, "siddartha": 5, "naidu": 5, "chinmai": 5, "hegd": 5, "lecun": 5, "goldstein": 5, "willi": 5, "neiswang": 5, "micah": 5, "goldblum": 5, "19314": 5, "yyh": 5, "baosong": [5, 7], "chengpeng": 5, "chengyuan": [5, 7], "fei": [5, 7], "guant": 5, "haoran": [5, 7], "huan": [5, 7], "jialong": 5, "jialin": 5, "jianhong": [5, 7], "tu": [5, 7], "jianwei": [5, 7], "jianxin": [5, 7], "jin": [5, 6, 8], "jingren": [5, 7], "jinz": 5, "jinzheng": 5, "junyang": [5, 7], "keme": [5, 7], "keqin": [5, 7], "kexin": [5, 7], "mingfeng": [5, 7], "xue": [5, 7, 8], "ni": [5, 6], "pei": [5, 7, 8], "ru": 5, "men": [5, 7], "ruiz": 5, "runji": [5, 7], "shiji": 5, "sinan": 5, "tianhang": 5, "wenbin": 5, "ge": 5, "xiaodong": 5, "deng": 5, "xiaohuan": 5, "xingzhang": [5, 7], "xinyu": [5, 8], "xipin": 5, "xuancheng": [5, 7], "yichang": [5, 7], "wan": [5, 7], "yunfei": 5, "yuqiong": [5, 7], "zhenru": [5, 7], "zhihao": 5, "10671": 5, "zcl24": 5, "zhihan": 5, "cao": 5, "lizi": 5, "openreview": [5, 6], "forum": [5, 6], "aegrf1uy0p": 5, "zc": 5, "siyuan": 5, "zhuang": [5, 8], "zhanghao": 5, "yonghao": 5, "zi": 5, "zhuohan": 5, "xing": [5, 8], "2306": [5, 8], "05685": 5, "huggingface24": 5, "metaai24": 5, "422": 5, "thank": [5, 7, 9], "doubl": 6, "steve": [6, 8], "lclm": 6, "simultan": [6, 7, 8], "cutoff": 6, "amayuela": 6, "tail": 6, "kotha": 6, "unifi": [6, 7, 9], "codebas": [6, 7], "ingest": 6, "preprocess": [6, 7, 9], "parser": [6, 9], "microsoft": [6, 7], "autogen": 6, "powerpoint": 6, "ocr": 6, "exif": 6, "metadata": [6, 7], "docker": [6, 7], "container": [6, 7], "xlsx": 6, "text_cont": 6, "ibm": [6, 7, 8], "docx": 6, "pptx": 6, "layout": 6, "llamaindex": 6, "document_convert": 6, "documentconvert": 6, "export_to_markdown": 6, "presenc": 6, "merril": 6, "lynch": 6, "cio": 6, "outlook": 6, "forecast_file_path": 6, "result_md": 6, "forecast_result_docl": 6, "levenshtein": 6, "distanc": 6, "sequencematch": 6, "difflib": 6, "longest": 6, "levenshtein_similar": 6, "text1": 6, "text2": 6, "max_len": 6, "simple_similar": 6, "ratio": [6, 7], "forecast_result_md": 6, "13985705461925346": 6, "17779960707269155": 6, "readabl": 6, "messi": 6, "2025e": 6, "compos": [6, 7, 8], "financial_vari": 6, "financial_forecast": 6, "econforecast": 6, "extract_prompt": 6, "base_prompt": [6, 9], "extract_from_doc": 6, "twice": 6, "md_financi": 6, "docling_financi": 6, "easier": [6, 7, 8, 9], "gdp": 6, "cpi": 6, "fed": 6, "df_md_forecast": 6, "df_docling_forecast": 6, "despit": [6, 7, 9], "underweight": 6, "neutral": [6, 8], "overweight": 6, "chart": 6, "asset_class_docl": 6, "asset_class_md": 6, "df_md": 6, "df_docl": 6, "true_valu": 6, "df_comparison": 6, "cap": 6, "exempt": 6, "markitdown_accuraci": 6, "docling_accuraci": 6, "93": [6, 7, 8], "unstructur": [6, 7, 9], "sector": 6, "convert_and_export_t": 6, "file_path": 6, "doc_convert": 6, "start_tim": [6, 8], "conv_r": 6, "table_df": 6, "export_to_datafram": 6, "end_tim": 6, "2f": 6, "usd": 6, "wtd": 6, "mtd": 6, "ytd": 6, "djia": 6, "926": 6, "amp": 6, "051": 6, "277": 6, "russel": [6, 8], "2000": 6, "msci": 6, "817": [6, 8], "eaf": 6, "319": 6, "107": 6, "01": [6, 7], "66": [6, 8], "92": 6, "municip": 6, "79": [6, 8], "slight": 6, "discretionari": 6, "yellow": 6, "estat": 6, "orang": 6, "stapl": 6, "constructor": 6, "md_llm": 6, "llm_client": 6, "llm_model": 6, "png": 6, "overview": [6, 9], "showcas": 6, "bond": 6, "crude": 6, "oil": 6, "sit": 6, "648": 6, "ounc": 6, "euro": 6, "tactic": 6, "bofa": 6, "circl": [6, 8], "fetch": 6, "reassembl": 6, "max_output_token": 6, "statement": [6, 8], "10k": 6, "diagram": [6, 8], "charactertextsplitt": 6, "tiktoken": [6, 8], "sequenti": 6, "newlin": 6, "cheap": 6, "speciali": 6, "nltk": 6, "spaci": 6, "hierarch": [6, 8], "talk": 6, "theme": [6, 7, 8], "splitter": 6, "surpass": 6, "get_chunk": 6, "chunk_siz": 6, "chunk_overlap": 6, "langchain_text_splitt": 6, "text_splitt": 6, "from_tiktoken_encod": 6, "split_text": 6, "persona": 6, "langchain_cor": [6, 9], "prompttempl": 6, "get_base_prompt_templ": 6, "from_templ": 6, "llmchain": 6, "output_pars": 6, "stroutputpars": 6, "langchain_commun": 6, "chat_model": 6, "chatlitellm": 6, "get_llm_chain": 6, "prompt_templ": [6, 9], "llm_chain": [6, 9], "api_key_label": 6, "upper": 6, "_api_kei": 6, "get_dynamic_prompt_templ": 6, "get_dynamic_prompt_param": 6, "prompt_param": 6, "part_idx": 6, "total_part": 6, "chat_context": 6, "param": 6, "dynamic_prompt_param": 6, "concaten": 6, "generate_report": 6, "input_cont": 6, "llm_model_nam": 6, "report_part": 6, "num_part": 6, "dinam": 6, "priovid": 6, "invok": [6, 9], "cummul": 6, "max_chunk_s": 6, "max_chunk_overlap": 6, "gemini": [6, 7], "apple_report": 6, "report_cont": 6, "report_lin": 6, "splitlin": 6, "total_lin": 6, "quarter_lin": 6, "top_port": 6, "bottom_port": 6, "uncov": [6, 8, 9], "delv": 6, "consol": 6, "fewer": [6, 7, 8], "reaction": 6, "breakdown": [6, 8], "disciplin": 6, "appar": [6, 8], "subhead": 6, "depth": [6, 8], "2m": [6, 7], "harvard": [6, 7], "enrol": 6, "gov": [6, 8], "1039": 6, "birth": [6, 8], "democraci": 6, "tuesdai": 6, "magna": 6, "carta": 6, "trudg": 6, "dens": 6, "conversation": 6, "knowledge_bas": 6, "add_knowledge_bas": 6, "add_cit": 6, "bool": [6, 8], "num_quest": 6, "input_memori": 6, "response_memori": 6, "urls_memori": 6, "extractor": 6, "cic": 6, "citabl": 6, "passag": [6, 8], "corpora": 6, "formatted_cont": 6, "reference_id": 6, "wrapper": [6, 9], "content_gener": 6, "user_instruct": 6, "llmbackend": 6, "cache_ttl": 6, "cachedcont": 6, "display_nam": 6, "due_knowledge_bas": 6, "system_instruct": 6, "compose_prompt": 6, "conversation_config": 6, "ttl": 6, "generativemodel": 6, "from_cached_cont": 6, "cached_cont": 6, "behind": [6, 8], "quiz_inst": 6, "professor": 6, "difficulti": [6, 8], "dataset": [6, 9], "syllabu": 6, "kennedi": 6, "inaugur": 6, "lincoln": 6, "gettysburg": 6, "liberti": 6, "mayflow": 6, "abraham": 6, "gutenberg": 6, "kb": 6, "epub": 6, "pg": 6, "gemini_duo": 6, "genai_duo": 6, "duo": 6, "usage_metadata": 6, "38470": 6, "anytim": 6, "shap": 6, "mckechni": 6, "study_refer": 6, "pg10000": 6, "65363": 6, "pg65363": 6, "quizz": 6, "problemat": [6, 8], "misinterpret": 6, "awp": 6, "alfonso": 6, "liangm": 6, "pan": [6, 8], "wenhu": 6, "lun": 6, "ku": 6, "editor": [6, 8], "acl": [6, 8], "6416": 6, "6432": 6, "bangkok": 6, "thailand": 6, "aclanthologi": [6, 8], "383": 6, "18653": [6, 8], "v1": [6, 7, 8], "ksr24": 6, "suha": 6, "springer": 6, "aditi": 6, "raghunathan": 6, "twelfth": 6, "vrhif2hsrm": 6, "lcd": 6, "jinhyuk": 6, "zhuyun": 6, "dheeru": 6, "dua": 6, "devendra": 6, "sachan": 6, "boratko": 6, "luan": 6, "s\u00e9bastien": 6, "arnold": 6, "vincent": 6, "perot": 6, "siddharth": 6, "dalmia": 6, "hexiang": 6, "panupong": 6, "pasupat": 6, "aida": 6, "amini": 6, "cole": 6, "riedel": 6, "iftekhar": 6, "naim": 6, "ming": [6, 8], "guu": 6, "subsum": 6, "sql": 6, "13121": 6, "lpp": 6, "aleksandra": 6, "piktu": 6, "fabio": [6, 8], "petroni": 6, "vladimir": 6, "karpukhin": 6, "heinrich": 6, "k\u00fcttler": 6, "tau": 6, "yih": 6, "rockt\u00e4schel": 6, "douw": 6, "kiela": 6, "2005": 6, "11401": 6, "nbgc24": 6, "shiyu": 6, "kepe": 6, "bi": 6, "jiafeng": 6, "guo": [6, 8], "xueqi": 6, "cheng": [6, 8, 9], "11375": 6, "11388": 6, "675": 6, "tdw": 6, "jiejun": 6, "zhicheng": 6, "dou": 6, "mang": 6, "weipeng": 6, "ji": 6, "htmlrag": 6, "02959": 6, "zlj": 6, "jiaji": 6, "yun": [6, 9], "metacognit": 6, "1453": 6, "1463": 6, "ny": [6, 8, 9], "usa": [6, 8, 9], "machineri": [6, 9], "1145": [6, 8, 9], "3589334": 6, "3645481": 6, "anthropic4a": 6, "langchain24": 6, "how_to": 6, "merrilllynch24": 6, "weekli": 6, "olui2": 6, "gwmol": 6, "di": 7, "hunter": 7, "photo": 7, "email": 7, "hipaa": 7, "properti": [7, 8], "gdpr": 7, "strict": [7, 8, 9], "iot": 7, "unreli": 7, "impract": 7, "slm": 7, "viabl": 7, "sensor": 7, "interconnect": 7, "frontend": 7, "garner": 7, "yourself": 7, "aw": [7, 8], "bedrock": 7, "sambanova": 7, "sla": 7, "veloc": 7, "roadmap": 7, "commodit": 7, "winner": 7, "loser": 7, "condens": 7, "clean": 7, "2024t": 7, "versatil": 7, "72b": 7, "med": 7, "bloomberggpt": 7, "underw": 7, "adept": 7, "toxigen": 7, "alnajjar": 7, "13b": [7, 8], "outperform": 7, "32b": 7, "feasibl": 7, "modal": 7, "diagnosi": 7, "patient": 7, "necessit": 7, "deepseek": 7, "flagship": 7, "405b": 7, "pack": 7, "v3": [7, 8], "671": 7, "moe": 7, "mixtur": 7, "3x": [7, 8], "v2": [7, 8], "fraction": 7, "domin": 7, "cautiou": 7, "cautious": 7, "isol": [7, 8], "cpot": 7, "cpit": 7, "tco": 7, "tpot": 7, "ttft": 7, "sent": [7, 8], "gpqa": 7, "median": 7, "afford": 7, "meanwhil": 7, "lite": 7, "micro": 7, "encod": [7, 8, 9], "cent": 7, "1m": 7, "cheapest": 7, "phi": 7, "half": [7, 8], "permiss": [7, 8], "apach": 7, "simpler": [7, 9], "700m": 7, "100m": 7, "gemma": [7, 9], "grown": 7, "withdraw": 7, "incomplet": [7, 8], "unclear": 7, "15t": 7, "8t": 7, "fineweb": 7, "penedo": 7, "96": [7, 8], "crawl": 7, "snapshot": 7, "ablat": 7, "vital": [7, 8], "favorit": 7, "spawn": 7, "ultrachat": 7, "2024u": 7, "created_job": 7, "fine_tun": 7, "training_fil": 7, "file_id": 7, "ultrachat_chunk_train": 7, "validation_fil": 7, "ultrachat_chunk_ev": 7, "training_step": 7, "0001": 7, "auto_start": 7, "job_id": 7, "toolkit": [7, 8], "sft": 7, "nemo": [7, 8], "codestr": 7, "2024v": 7, "enough": 7, "rewrit": 7, "smolvlm": 7, "mlx": [7, 9], "mlc": 7, "peft": 7, "programm": 7, "graphic": [7, 8], "vram": 7, "mathbf": 7, "x_1": [7, 9], "x_2": [7, 9], "x_n": [7, 9], "x_": [7, 9], "\u03b8": 7, "matrix": [7, 8], "cerebra": 7, "mozilla": 7, "gerganov": 7, "georgi": 7, "overwhelm": [7, 9], "manifesto": 7, "enjoy": 7, "bog": 7, "exploratori": 7, "hacker": 7, "Will": [7, 8], "prototyp": 7, "prematur": 7, "besid": 7, "lighter": 7, "sacrific": 7, "ggml": [7, 9], "disk": 7, "backward": 7, "2024x": 7, "repo": 7, "compil": 7, "linux": 7, "argument": [7, 8, 9], "sudo": 7, "apt": 7, "cmake": 7, "bind": 7, "betlen": 7, "cnv": 7, "llamacpp": 7, "succinct": 7, "ctrl": 7, "interject": 7, "philosoph": 7, "debat": 7, "fulfil": 7, "happi": 7, "responsibli": 7, "bye": 7, "goodby": 7, "port": 7, "127": 7, "curl": [7, 9], "localhost": 7, "bearer": 7, "finish_reason": 7, "deepli": 7, "1734627879": 7, "completion_token": 7, "total_token": 7, "chatcmpl": 7, "5wl2tzjzdmzupvxwp2gcedr8xbpsyhfm": 7, "prompt_n": 7, "prompt_m": 7, "132": 7, "prompt_per_token_m": 7, "prompt_per_second": 7, "77619878666999": 7, "predicted_n": 7, "predicted_m": 7, "1700": 7, "654": [7, 9], "predicted_per_token_m": 7, "36882142857143": 7, "predicted_per_second": 7, "92850867960208": 7, "gbnf": [7, 9], "8pm": 7, "appointmenttim": 7, "appointmentdetail": 7, "handi": 7, "model_path": 7, "llama_cpp": 7, "create_chat_complet": 7, "occupi": 7, "activist": 7, "justin": [7, 8], "tunnei": 7, "ocho": 7, "appach": 7, "cosmopolitan": 7, "libc": 7, "portabl": 7, "durabl": 7, "usabl": [7, 8, 9], "tinyllama": 7, "wget": 7, "jartin": 7, "q5_k_m": 7, "renam": 7, "ex": 7, "chmod": 7, "nobrows": 7, "registri": 7, "nativ": [7, 9], "trai": 7, "familiar": 7, "bare": 7, "ssfl": 7, "sh": [7, 9], "Or": 7, "11434": 7, "chatrespons": 7, "easiest": 7, "rich": [7, 8], "playground": 7, "importantli": [7, 9], "intuit": 7, "beginn": 7, "tensorrt": 7, "trt": 7, "latex": 7, "voic": 7, "pwa": 7, "medium": [7, 8], "gpt4all": 7, "rbac": 7, "q4_k": 7, "q6_k": 7, "mib": 7, "wikitext": 7, "salesforc": 7, "wikipedia": [7, 9], "min_prompt_length": 7, "input_texts_raw": 7, "began": 7, "2010": 7, "valkyria": 7, "chronicl": 7, "forgiv": 7, "newcom": 7, "raita": 7, "honjou": 7, "hitoshi": 7, "sakimoto": 7, "takeshi": 7, "ozawa": 7, "writer": 7, "sung": 7, "escap": 7, "escaped_text": 7, "block_scal": 7, "block": [7, 8], "parenthes": 7, "block_min": 7, "formula": 7, "superblock": 7, "5625": 7, "ieee": 7, "754": 7, "ppl": 7, "exp": 7, "sum_": 7, "log_2": 7, "x_i": [7, 9], "avg": 7, "_i": 7, "corr": 7, "ln": [7, 9], "kullback": 7, "leibler": 7, "entropi": 7, "logit": 7, "d_": 7, "softmax": [7, 9], "sum": 7, "kld": 7, "q2_kresult": 7, "q6": 7, "004": 7, "q2": 7, "112": 7, "q4": 7, "smallest": 7, "390": 7, "67": [7, 8], "81": [7, 8], "462": 7, "614": 7, "170": 7, "q4_k_m": 7, "thread": 7, "16x": 7, "85x": 7, "79x": 7, "ubuntu": 7, "lt": 7, "x86_64": 7, "gnu": 7, "intel": 7, "i7": 7, "8550u": 7, "15gib": 7, "samsung": 7, "ssd": 7, "970": 7, "evo": 7, "500gb": 7, "1170": 7, "meant": 7, "ai4c": 7, "ai4a": 7, "paperswithcod": [7, 8], "ana24a": 7, "leaderboard": [7, 8], "artificialanalysi": 7, "ana24b": 7, "ana24c": 7, "bc24": 7, "andrei": [7, 8], "abetlen": 7, "dee24": 7, "blob": [7, 9], "deepseek_v3": 7, "fac4": 7, "optimum": 7, "concept_guid": 7, "fac4t": 7, "fac4u": 7, "200k": 7, "ultrachat_200k": 7, "fac4v": 7, "blogpost": 7, "gc24": 7, "ggerganov": [7, 9], "readm": [7, 9], "gc4a": 7, "gc4b": 7, "pka": 7, "guilherm": 7, "hynek": 7, "kydl\u00ed\u010dek": 7, "decant": 7, "finest": 7, "17557": 7, "qwe4b": 7, "qy": 7, "beichen": 7, "tingyu": 7, "su": 7, "zihan": 7, "qiu": 7, "15115": 7, "rev24": 7, "nyt": 7, "harvardlawreview": 7, "timess": 7, "zwa": 7, "wael": 7, "geoffrei": [7, 8], "angu": 7, "arnav": 7, "jefferi": 7, "kinnison": 7, "sherstinski": 7, "piero": 7, "molino": 7, "travi": 7, "addair": 7, "devvret": 7, "310": 7, "2405": 7, "00732": 7, "huggingface4xa": 7, "huggingface4xb": 7, "ibmthink24": 7, "lmstudio24": 7, "lmstudio": 7, "metaai4c": 7, "mozillaocho24": 7, "salesforce24": 7, "immens": 8, "commonplac": 8, "spur": 8, "hartvigsen": 8, "societi": 8, "alarm": 8, "openli": 8, "dolli": 8, "llama2": [8, 9], "emb": 8, "generalist": 8, "injustic": 8, "inequ": 8, "undermin": 8, "perpetu": 8, "displac": 8, "eros": 8, "fake": 8, "deepfak": 8, "distrust": 8, "cyberattack": 8, "spread": 8, "disinform": 8, "inadvert": 8, "interven": 8, "irrevers": 8, "uncheck": 8, "extinct": 8, "race": 8, "incentiv": 8, "shortcut": 8, "stress": 8, "urgent": 8, "reorient": 8, "siam": 8, "edgington": 8, "jailbreak": 8, "promptcraft": 8, "stealth": 8, "sutton": 8, "subtl": 8, "subtleti": 8, "exception": 8, "phrase": 8, "evad": 8, "hqve": 8, "frer": 8, "hplidai": 8, "pl": 8, "hyperion": 8, "coast": 8, "redwood": 8, "tallest": 8, "tree": [8, 9], "routin": 8, "prejudic": 8, "gallego": 8, "leak": 8, "poison": 8, "intention": 8, "inject": 8, "mislead": 8, "exabeam": 8, "finra": 8, "3110": 8, "mandat": 8, "supervisori": 8, "unicef": 8, "empow": 8, "contest": 8, "congress": 8, "enact": 8, "pictur": [8, 9], "sound": 8, "territori": 8, "oversea": 8, "chines": 8, "legitim": 8, "consent": 8, "complaint": 8, "cooper": 8, "extraterritori": 8, "offshor": 8, "draft": 8, "voluntari": 8, "player": 8, "prepared": 8, "compris": 8, "cbrn": 8, "persuas": 8, "autonomi": 8, "gradat": 8, "scorecard": 8, "elig": 8, "advisori": 8, "sag": 8, "shut": 8, "prerequisit": 8, "harden": 8, "asl": 8, "biosafeti": 8, "elev": 8, "warn": [8, 9], "bioweapon": 8, "compartment": 8, "4x": 8, "jump": 8, "paus": 8, "deepmind": 8, "biosecur": 8, "buffer": 8, "formul": [8, 9], "calibr": 8, "promin": 8, "taxonomi": 8, "llamaguard": 8, "20241022": 8, "5x": 8, "alaga": 8, "substandard": 8, "oxford": 8, "wachter": 8, "blur": 8, "ill": 8, "stifl": 8, "suscept": 8, "aadc": 8, "outset": 8, "curricula": 8, "adversari": 8, "thoroughli": 8, "lm": [8, 9], "undergo": 8, "280b": 8, "cai": [8, 9], "enshrin": 8, "evas": 8, "resort": 8, "avenu": 8, "cambria": 8, "inherit": 8, "influenti": 8, "debias": 8, "plausibl": 8, "occurr": 8, "phish": 8, "clarifi": 8, "toler": 8, "checklist": 8, "abus": 8, "ux": 8, "architect": 8, "retrofit": 8, "promptli": 8, "dashboard": 8, "misalign": 8, "star": 8, "postpon": 8, "combat": 8, "counter": 8, "traffic": 8, "frustrat": 8, "workaround": 8, "silo": 8, "hierarchi": 8, "mcq": 8, "regex": [8, 9], "joint": 8, "facet": 8, "purpl": 8, "opensafetylab": 8, "salad_bench_dataset": 8, "base_set": 8, "gptfuzzer": 8, "auto": [8, 9], "qid": 8, "o1": 8, "supremaci": 8, "o53": 8, "o14": 8, "o5": 8, "o65": 8, "plagiar": 8, "o16": 8, "o6": 8, "o47": 8, "campaign": 8, "o12": 8, "o52": 8, "surveil": 8, "spous": 8, "know": 8, "o13": 8, "ncount": 8, "21318": 8, "8756": 8, "6486": 8, "o2": 8, "1717": 8, "o4": 8, "1477": 8, "o3": 8, "socioeconom": 8, "851": 8, "int64": 8, "gen": 8, "15433": 8, "hh": 8, "4184": 8, "659": 8, "advbench": 8, "230": 8, "189": 8, "toxicchat": 8, "anyth": 8, "misconcept": 8, "ingrain": 8, "mc1": 8, "singular": 8, "choices4": 8, "mc2": 8, "set4": 8, "scorer": 8, "correctli": [8, 9], "truthful_qa": 8, "truthfulqa_dataset": 8, "multiple_choic": 8, "best_answ": 8, "correct_answ": 8, "incorrect_answ": 8, "watermelon": 8, "digest": 8, "noth": 8, "stomach": 8, "sick": 8, "wonderopoli": 8, "wonder": 8, "belli": 8, "swallow": 8, "dream": 8, "die": 8, "indigest": 8, "unconsci": 8, "excret": 8, "asr": 8, "r2d2": 8, "wider": [8, 9], "mass": 8, "destruct": 8, "asynchron": 8, "webpurifi": 8, "protectai": 8, "comprehend": 8, "amazon": 8, "nvidia": [8, 9], "keyword": 8, "toolset": 8, "nemmo": 8, "synchron": 8, "nemoguardrail": 8, "llmrail": 8, "railsconfig": 8, "from_path": 8, "rail": 8, "hello": 8, "ministr": 8, "mistralai": 8, "mistral_api_kei": 8, "moderate_chat": 8, "omni": 8, "pprint": 8, "to_json": 8, "threaten": 8, "illicit": 8, "granit": 8, "guardian": 8, "consortium": 8, "11b": 8, "begin_of_text": 8, "start_header_id": 8, "end_header_id": 8, "unsafe_categori": 8, "user_message_1": 8, "model_answer_1": 8, "comma": 8, "eot_id": 8, "eom_id": 8, "denot": 8, "s1": 8, "s2": 8, "s3": 8, "s4": 8, "s5": 8, "defam": 8, "s6": 8, "s7": 8, "s8": 8, "s9": 8, "s10": 8, "s11": 8, "s12": 8, "s13": 8, "padhi": 8, "atla": 8, "2b": 8, "hap": 8, "38m": 8, "125m": 8, "shieldgemma": 8, "judge_prompt": 8, "american": 8, "vandal": 8, "underag": 8, "drink": 8, "vulgar": 8, "obscen": 8, "racism": 8, "derogatori": 8, "firearm": 8, "safety_scor": 8, "IN": 8, "borderlin": 8, "verdict": 8, "boolean": [8, 9], "brief": 8, "rational": 8, "paramount": [8, 9], "evenli": 8, "good_sampl": 8, "bad_sampl": 8, "2024z": 8, "surg": 8, "scam": 8, "get_profanity_sampl": 8, "show_stat": 8, "current_dir": 8, "getcwd": 8, "data_path": 8, "profanity_en": 8, "random_st": 8, "ncategori": 8, "category_count": 8, "category_1": 8, "1f": 8, "profanity_sampl": 8, "nsampl": 8, "anatomi": 8, "slur": 8, "182": 8, "bodili": 8, "fluid": 8, "excrement": 8, "insult": 8, "mental": 8, "disabl": 8, "jap": 8, "babi": [8, 9], "batter": 8, "crazi": 8, "sob": 8, "fukka": 8, "sh1t3": 8, "get_salad_sampl": 8, "salad_sampl": 8, "tortur": 8, "porn": 8, "sin": 8, "sight": 8, "god": 8, "embezzl": 8, "xanax": 8, "alcohol": 8, "get_good_sampl": 8, "min_scor": 8, "reichstag": 8, "profanity_data": 8, "salad_data": 8, "good_data": 8, "all_data": 8, "prompt_sampl": 8, "is_unsaf": 8, "counti": 8, "holli": 8, "ridg": 8, "nc": 8, "town": 8, "onslow": 8, "carolina": 8, "diver": 8, "underwat": 8, "maze": 8, "coral": 8, "treasur": 8, "vivid": 8, "sensori": 8, "emot": 8, "labyrinthin": 8, "reef": 8, "suspens": 8, "obstacl": 8, "creatur": 8, "nomin": 8, "nobel": 8, "literatur": 8, "love": 8, "logo": 8, "thief": 8, "rob": 8, "famou": 8, "nstatist": 8, "source_stat": 8, "type_stat": 8, "plug": 8, "safetyvalid": 8, "validationresult": 8, "dataclass": 8, "abstractmethod": 8, "llmguardvalid": 8, "scanner": 8, "bantop": 8, "llm_guard": 8, "input_scann": 8, "scan_prompt": 8, "matchtyp": 8, "default_banned_top": 8, "banned_top": 8, "super": 8, "banned_topics_scann": 8, "use_onnx": 8, "toxicity_scann": 8, "match_typ": 8, "fail_fast": 8, "unsafe_scann": 8, "gun": 8, "cool": 8, "hunt": 8, "deer": 8, "dad": 8, "mistralvalid": 8, "hate_and_discrimin": 8, "violence_and_threat": 8, "dangerous_and_criminal_cont": 8, "selfharm": 8, "openaivalid": 8, "attr": 8, "dir": 8, "getattr": 8, "illicit_viol": 8, "llmjudgevalid": 8, "prompt_path": 8, "llmjudg": 8, "filenotfounderror": 8, "slice": 8, "elaps": 8, "score_valid": 8, "id_": 8, "validator_inst": 8, "validation_result": 8, "elapsed_tim": 8, "prompt_sample_id": 8, "validator_nam": 8, "scoring_prompt": 8, "scoring_result": 8, "01536": 8, "34098": 8, "497136": 8, "546416": 8, "calculate_validator_metr": 8, "bad_sourc": 8, "good_sourc": 8, "tpr": 8, "fpr": 8, "f1_score": 8, "tn": 8, "fp": 8, "fn": 8, "tp": 8, "255": 8, "74": 8, "238": 8, "130": 8, "256": 8, "149": 8, "213": 8, "190": 8, "235": 8, "63": [8, 9], "222": 8, "480": 8, "157": 8, "487": 8, "495": 8, "482": 8, "667": 8, "248": 8, "466": 8, "143": 8, "355": 8, "slowest": 8, "room": 8, "false_posit": 8, "left_on": 8, "right_on": 8, "persian": 8, "teenag": 8, "\u0686\u0627\u0644\u0634": 8, "\u0645\u0648\u0645\u0648": 8, "\u06cc\u06a9": 8, "\u062d\u0642\u0647": 8, "\u0648": 8, "\u0627\u0641\u0633\u0627\u0646\u0647": 8, "\u0645\u062d\u0644\u06cc": 8, "\u0627\u0633\u062a": 8, "\u06a9\u0647": 8, "\u0634\u0627\u06cc\u0639\u0647": 8, "\u0622\u0646": 8, "\u062f\u0631": 8, "\u0634\u0628\u06a9\u0647": 8, "\u0647\u0627\u06cc": 8, "\u0627\u062c\u062a\u0645\u0627\u0639\u06cc": 8, "\u067e\u062e\u0634": 8, "\u0634\u062f": 8, "\u06af\u0632\u0627\u0631\u0634": 8, "\u06a9\u0627\u0631\u0628\u0631\u06cc": 8, "\u0628\u0627": 8, "\u0646\u0627\u0645": 8, "\u06a9\u0648\u062f\u06a9\u0627\u0646": 8, "\u0646\u0648\u062c\u0648\u0627\u0646\u0627\u0646": 8, "\u0631\u0627": 8, "\u0628\u0647": 8, "\u0627\u0639\u0645\u0627\u0644": 8, "\u062e\u0637\u0631\u0646\u0627\u06a9\u06cc": 8, "\u0645\u0627\u0646\u0646\u062f": 8, "\u062e\u0648\u062f\u0632\u0646\u06cc": 8, "\u062e\u0648\u062f\u06a9\u0634\u06cc": 8, "\u062a\u0631\u063a\u06cc\u0628": 8, "\u0645\u06cc": 8, "\u06a9\u0646\u062f": 8, "\u0648\u062c\u0648\u062f": 8, "\u0635\u062d\u0628\u062a": 8, "\u0632\u06cc\u0627\u062f\u06cc": 8, "\u0645\u0648\u0631\u062f": 8, "\u0627\u06cc\u0646": 8, "\u062a\u0639\u062f\u0627\u062f": 8, "\u0634\u06a9\u0627\u06cc\u0627\u062a": 8, "\u0648\u0627\u0642\u0639\u06cc": 8, "\u0628\u0633\u06cc\u0627\u0631": 8, "\u06a9\u0645": 8, "\u0628\u0648\u062f": 8, "\u067e\u0644\u06cc\u0633": 8, "\u0635\u062f\u0645\u0647": 8, "\u062f\u06cc\u062f\u0646": 8, "\u062f\u0644\u06cc\u0644": 8, "\u062a\u0623\u062b\u06cc\u0631": 8, "\u0645\u0633\u062a\u0642\u06cc\u0645": 8, "\u067e\u062f\u06cc\u062f\u0647": 8, "\u062a\u0623\u06cc\u06cc\u062f": 8, "\u0646\u06a9\u0631\u062f\u0647": 8, "\u062a\u0631\u0633": 8, "\u0646\u06af\u0631\u0627\u0646\u06cc": 8, "\u0627\u06cc\u062c\u0627\u062f": 8, "\u0634\u062f\u0647": 8, "\u0628\u06cc\u0634\u062a\u0631": 8, "\u0627\u0632": 8, "\u062e\u0648\u062f": 8, "\u0631\u0633\u0627\u0646\u0647": 8, "\u0647\u0627": 8, "\u0637\u0648\u0631\u06cc": 8, "\u062e\u06cc\u0631\u06cc\u0647": 8, "\u0647\u0634\u062f\u0627\u0631": 8, "\u062f\u0627\u062f\u0646\u062f": 8, "\u0622\u0633\u06cc\u0628": 8, "\u0627\u0646\u062a\u0638\u0627\u0631\u0627\u062a": 8, "\u0645\u062d\u062a\u0648\u0627\u06cc": 8, "\u062e\u0634\u0648\u0646\u062a": 8, "\u0622\u0645\u06cc\u0632": 8, "\u0627\u06cc\u0646\u062a\u0631\u0646\u062a": 8, "\u06af\u0641\u062a\u0647": 8, "\u0634\u0648\u062f": 8, "\u0627\u0648\u0644\u06cc\u0646": 8, "\u0628\u0627\u0631": 8, "\u0633\u0627\u0644": 8, "\u06f2\u06f0\u06f1\u06f8": 8, "\u067e\u0633": 8, "\u0622\u0646\u06a9\u0647": 8, "\u0631\u0648\u0632\u0646\u0627\u0645\u0647": 8, "\u0627\u0646\u062f\u0648\u0646\u0632\u06cc\u0627\u06cc\u06cc": 8, "\u062e\u0628\u0631": 8, "\u062f\u062e\u062a\u0631": 8, "\u06f1\u06f2": 8, "\u0633\u0627\u0644\u0647": 8, "\u062f\u0627\u062f": 8, "\u0645\u0648\u0636\u0648\u0639": 8, "\u062c\u0647\u0627\u0646\u06cc": 8, "\u062a\u0628\u062f\u06cc\u0644": 8, "\u0645\u062c\u0633\u0645\u0647": 8, "\u0647\u0646\u0631\u0645\u0646\u062f": 8, "\u0698\u0627\u067e\u0646\u06cc": 8, "\u0647\u0631": 8, "\u0686\u0646\u062f": 8, "\u0634\u0627\u06cc\u062f": 8, "\u0646\u06af\u0627\u0647": 8, "\u0628\u0639\u0636\u06cc": 8, "\u0632\u06cc\u0628\u0627": 8, "\u0646\u0628\u0627\u0634\u062f": 8, "\u0627\u0645\u0627": 8, "\u06a9\u0627\u0645\u0644\u0627": 8, "\u0628\u06cc": 8, "\u062e\u0637\u0631": 8, "\u0627\u06cc\u0631\u0627\u0646": 8, "\u0645\u062f\u062a": 8, "\u0628\u06cc\u0646": 8, "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646": 8, "\u0645\u0637\u0631\u062d": 8, "\u0633\u0627\u0644\u06cc": 8, "\u0633\u0631\u0627\u0633\u0631": 8, "\u062c\u0647\u0627\u0646": 8, "\u0645\u0634\u0627\u0628\u0647\u06cc": 8, "\u0628\u0631\u0627\u06cc": 8, "\u0648\u0627\u0644\u062f\u06cc\u0646": 8, "\u06a9\u0631\u062f\u0647": 8, "\u0627\u0641\u0631\u0627\u062f": 8, "\u0686\u0647": 8, "\u06a9\u0627\u0631\u06cc": 8, "\u062f\u0639\u0648\u062a": 8, "tourist": 8, "distress": 8, "polish": 8, "galician": 8, "dzisiaj": 8, "szwecji": 8, "innych": 8, "bogatych": 8, "krajach": 8, "ludzi": 8, "u\u017cywaj\u0105": 8, "mn\u00f3stwo": 8, "najr\u00f3\u017cniejszych": 8, "urz\u0105dze\u0144": 8, "hox": 8, "suecia": 8, "outro": 8, "pa\u00eds": 8, "rico": 8, "xent": 8, "moita": 8, "m\u00e1quina": 8, "diferent": 8, "\u0142\u00f3dka": 8, "zaczyna": 8, "ton\u0105\u0107": 8, "tury\u015bci": 8, "wracaj\u0105": 8, "statek": 8, "dom\u00f3w": 8, "gdzie": 8, "opowiadaj\u0105": 8, "tym": 8, "jak": 8, "zostali": 8, "zaatakowani": 8, "surprisingli": 8, "shelf": 8, "unsettl": 8, "paradox": 8, "harbor": 8, "wisdom": 8, "aspir": 8, "technologist": 8, "disciplinari": 8, "ethicist": 8, "policymak": 8, "asa24": 8, "jide": 8, "jona": 8, "schuett": 8, "marku": 8, "anderljung": 8, "08751": 8, "bhy": 8, "hinton": 8, "pieter": 8, "abbeel": 8, "trevor": 8, "darrel": 8, "yuval": 8, "harari": 8, "ya": 8, "lan": 8, "shai": 8, "shalev": 8, "gillian": 8, "hadfield": 8, "clune": 8, "tegan": 8, "maharaj": 8, "hutter": 8, "at\u0131l\u0131m": 8, "g\u00fcne\u015f": 8, "baydin": 8, "sheila": 8, "mcilraith": 8, "qiqi": 8, "ashwin": 8, "acharya": 8, "anca": 8, "dragan": 8, "philip": 8, "torr": 8, "kahneman": 8, "s\u00f6ren": 8, "mindermann": 8, "amid": 8, "384": 8, "6698": 8, "1126": 8, "adn0117": 8, "bbc": 8, "emili": 8, "braca": 8, "israel": 8, "carter": 8, "hafsa": 8, "kanchwala": 8, "khojasteh": 8, "charli": 8, "landow": 8, "luo": 8, "magarelli": 8, "mirin": 8, "averi": 8, "moyer": 8, "kayla": 8, "simpson": 8, "amelia": 8, "skawinski": 8, "heverin": 8, "23308": 8, "bmc": 8, "dillon": 8, "brendan": 8, "murphi": 8, "khachaturov": 8, "gleav": 8, "kellin": 8, "pelrin": 8, "2408": [8, 9], "02946": 8, "cmm": 8, "erik": 8, "lorenzo": 8, "malandri": 8, "mercorio": 8, "navid": 8, "nobani": 8, "seveso": 8, "15248": 8, "edg24": 8, "exa24": 8, "cyber": 8, "grb": 8, "rossi": 8, "barrow": 8, "mehrab": 8, "tanjim": 8, "sungchul": 8, "franck": 8, "dernoncourt": 8, "ruiyi": 8, "nesreen": 8, "2309": 8, "00770": 8, "h44z": 8, "hgp": 8, "saadia": 8, "hamid": 8, "palangi": 8, "dipankar": 8, "ec": 8, "kamar": 8, "oxi": 8, "smaranda": 8, "muresan": 8, "preslav": 8, "nakov": 8, "alin": 8, "villavicencio": 8, "60th": 8, "3309": 8, "3326": 8, "dublin": 8, "hym": 8, "weijiang": 8, "weitao": 8, "weihong": 8, "zhangyin": 8, "haotian": 8, "qianglong": 8, "weihua": 8, "xiaocheng": 8, "bing": 8, "dx": 8, "3703155": 8, "iuc": 8, "kartikeya": 8, "upasani": 8, "jianfeng": 8, "krithika": 8, "tontchev": 8, "2312": 8, "06674": 8, "ldw": 8, "lijun": 8, "ruohui": 8, "xuhao": 8, "wangmeng": 8, "zuo": 8, "dahua": 8, "qiao": 8, "shao": 8, "05044": 8, "mpy": 8, "xuwang": 8, "zifan": 8, "norman": 8, "mu": 8, "elham": 8, "sakhae": 8, "nathaniel": 8, "forsyth": 8, "04249": 8, "ma24": 8, "mlc24": 8, "illumin": 8, "ailumin": 8, "oaa": 8, "adler": 8, "ahmad": 8, "ilg": 8, "akkaya": 8, "florencia": 8, "leoni": 8, "aleman": 8, "janko": 8, "altenschmidt": 8, "altman": 8, "shyamal": 8, "anadkat": 8, "avila": 8, "valeri": 8, "balcom": 8, "baltescu": 8, "haim": 8, "belgum": 8, "irwan": 8, "bello": 8, "jake": 8, "berdin": 8, "bernadett": 8, "shapiro": 8, "berner": 8, "lenni": 8, "bogdonoff": 8, "boiko": 8, "madelain": 8, "boyd": 8, "luisa": 8, "brakman": 8, "button": 8, "rosi": 8, "campbel": 8, "cann": 8, "brittani": 8, "carei": 8, "carlson": 8, "rori": 8, "carmichael": 8, "che": 8, "foti": 8, "sulli": 8, "rubi": 8, "chess": 8, "chester": 8, "cho": 8, "hyung": 8, "won": 8, "chung": 8, "jeremiah": 8, "currier": 8, "yunx": 8, "cori": 8, "decareaux": 8, "degri": 8, "deutsch": 8, "devil": 8, "dhar": 8, "dowl": 8, "dun": 8, "adrien": 8, "ecoffet": 8, "atti": 8, "eleti": 8, "tyna": 8, "elound": 8, "farhi": 8, "niko": 8, "sim\u00f3n": 8, "posada": 8, "fishman": 8, "juston": 8, "isabella": 8, "fulford": 8, "georg": 8, "gibson": 8, "vik": 8, "tarun": 8, "gogineni": 8, "goh": 8, "rapha": 8, "gontijo": 8, "lope": 8, "gordon": 8, "morgan": 8, "grafstein": 8, "yufei": 8, "hallaci": 8, "heaton": 8, "johann": 8, "heideck": 8, "hickei": 8, "wade": 8, "hoeschel": 8, "houghton": 8, "kenni": 8, "hsu": 8, "shengli": 8, "joost": 8, "huizinga": 8, "shawn": 8, "joann": 8, "jang": 8, "roger": 8, "haozhun": 8, "shino": 8, "jomoto": 8, "billi": 8, "jonn": 8, "tomer": 8, "kaftan": 8, "\u0142ukasz": 8, "kamali": 8, "ingmar": 8, "kanitscheid": 8, "tabarak": 8, "khan": 8, "logan": 8, "kilpatrick": 8, "jong": 8, "wook": 8, "christina": 8, "yongjik": 8, "hendrik": 8, "kirchner": 8, "kiro": 8, "matt": 8, "kokotajlo": 8, "kondraciuk": 8, "kondrich": 8, "konstantinidi": 8, "kosic": 8, "vishal": 8, "kuo": 8, "lamp": 8, "ikai": 8, "teddi": 8, "jade": 8, "leung": 8, "chak": 8, "lim": 8, "molli": 8, "mateusz": 8, "litwin": 8, "theresa": 8, "lopez": 8, "patricia": 8, "lue": 8, "makanju": 8, "malfacini": 8, "markov": 8, "yaniv": 8, "markovski": 8, "bianca": 8, "mayn": 8, "mckinnei": 8, "christin": 8, "mcleavei": 8, "mcmillan": 8, "mcneil": 8, "aalok": 8, "menick": 8, "mishchenko": 8, "vinni": 8, "monaco": 8, "murk": 8, "m\u00e9ly": 8, "ashvin": 8, "nair": 8, "reiichiro": 8, "nakano": 8, "rajeev": 8, "nayak": 8, "arvind": 8, "neelakantan": 8, "hyeonwoo": 8, "noh": 8, "keef": 8, "jakub": 8, "pachocki": 8, "palermo": 8, "ashlei": 8, "pantuliano": 8, "parish": 8, "emi": 8, "parparita": 8, "passo": 8, "perelman": 8, "belbut": 8, "pere": 8, "pokorni": 8, "pokrass": 8, "vitchyr": 8, "pong": 8, "tolli": 8, "powel": 8, "bori": 8, "proehl": 8, "rae": 8, "ramesh": 8, "franci": 8, "kendra": 8, "rimbach": 8, "carl": 8, "rotst": 8, "roussez": 8, "saltarelli": 8, "ted": 8, "sander": 8, "schnurr": 8, "selsam": 8, "kyla": 8, "sheppard": 8, "toki": 8, "sherbakov": 8, "shieh": 8, "shoker": 8, "pranav": 8, "szymon": 8, "sidor": 8, "sigler": 8, "sitkin": 8, "sokolowski": 8, "natali": 8, "staudach": 8, "madelein": 8, "phil": 8, "tootoonchian": 8, "tseng": 8, "preston": 8, "tuggl": 8, "turlei": 8, "juan": 8, "cer\u00f3n": 8, "urib": 8, "vallon": 8, "vijayvergiya": 8, "jai": 8, "alvin": 8, "ward": 8, "cj": 8, "weinmann": 8, "akila": 8, "welihinda": 8, "jiayi": 8, "weng": 8, "lilian": 8, "wiethoff": 8, "willner": 8, "wolrich": 8, "lauren": 8, "workman": 8, "sherwin": 8, "yoo": 8, "zeller": 8, "shengjia": 8, "juntang": 8, "zhuk": 8, "2303": 8, "08774": 8, "pnc": 8, "inkit": 8, "manish": 8, "nagireddi": 8, "giandomenico": 8, "cornacchia": 8, "subhajit": 8, "chaudhuri": 8, "tejaswini": 8, "pedapati": 8, "pierr": 8, "dognin": 8, "keerthiram": 8, "murugesan": 8, "miehl": 8, "santill\u00e1n": 8, "kieran": 8, "giulio": 8, "zizzo": 8, "muhammad": 8, "zaid": 8, "hame": 8, "purcel": 8, "desmond": 8, "zahra": 8, "ashktorab": 8, "ing": 8, "vejsbjerg": 8, "dali": 8, "hind": 8, "werner": 8, "geyer": 8, "ambrish": 8, "rawat": 8, "kush": 8, "varshnei": 8, "prasanna": 8, "sattigeri": 8, "07724": 8, "pcz": 8, "shern": 8, "woodsid": 8, "hanlin": 8, "emmon": 8, "justifi": 8, "machiavelli": 8, "2304": 8, "03279": 8, "saffron": 8, "ring": 8, "aslanid": 8, "glaes": 8, "nat": 8, "mcalees": 8, "irv": 8, "2202": 8, "03286": 8, "sjls22": 8, "lingfeng": 8, "haiyun": 8, "lemao": 8, "backdoor": 8, "2201": 8, "02993": 8, "szw": 8, "qinghua": 8, "higham": 8, "gorban": 8, "bastouni": 8, "ivan": 8, "tyukin": 8, "12670": 8, "vsk": 8, "simplesafetytest": 8, "2311": 8, "08370": 8, "wmr24": 8, "sandra": 8, "brent": 8, "mittelstadt": 8, "duti": 8, "royal": 8, "240197": 8, "royalsocietypublish": 8, "1098": 8, "rso": 8, "wcp": 8, "boxin": 8, "weixin": 8, "hengzhi": 8, "chulin": 8, "mintong": 8, "kang": 8, "chenhui": 8, "chejian": 8, "zidi": 8, "xiong": [8, 9], "ritik": 8, "truong": 8, "simran": 8, "arora": 8, "zinan": 8, "decodingtrust": 8, "11698": 8, "ylx24": 8, "jiahao": 8, "xingwei": 8, "zyi": 8, "shune": 8, "lyumanshan": 8, "jingyu": 8, "shui": 8, "haobin": 8, "pengfei": 8, "hewu": 8, "ghost": 8, "14931": 8, "zho24": 8, "amazonwservices24": 8, "anthropic24": 8, "cdn": 8, "1adf000c8f675958c2ee23805d91aaade1cd4613": 8, "centerfasafety24a": 8, "centerforaisafeti": 8, "centerfasafety24b": 8, "deepmind24": 8, "googleapi": 8, "fsf": 8, "europeanmagency24": 8, "ema": 8, "europa": 8, "activities_en": 8, "financialirauthority24": 8, "harmbench24": 8, "ibm24": 8, "watsonx": 8, "saa": 8, "libraryocongress23": 8, "loc": 8, "mistralai24": 8, "mlsteam24": 8, "mlsafeti": 8, "nationaliosatechnology24": 8, "nist": 8, "itl": 8, "nvidia24": 8, "openai24a": 8, "openai24b": 8, "opensafetylab24a": 8, "opensafetylab24b": 8, "protectai24": 8, "surgeai24": 8, "ukgovernment24": 8, "unicef24": 8, "innocenti": 8, "julia": 9, "easili": 9, "trial": 9, "wrangl": 9, "hoc": 9, "unwant": 9, "overflow": 9, "twitter": 9, "youtub": 9, "ldot": 9, "prod_": 9, "syntact": 9, "xml": 9, "invalid": 9, "delic": 9, "heart": 9, "ttt": 9, "itt": 9, "po": 9, "nousresearch": 9, "herm": 9, "person1": 9, "q1": 9, "person2": 9, "json_format": 9, "response_cont": 9, "is_json": 9, "myjson": 9, "nest": 9, "conceptu": 9, "unend": 9, "whitespac": 9, "throw": 9, "somewher": 9, "json_object": 9, "circul": 9, "vertex": 9, "went": 9, "secextract": 9, "mentioned_ent": 9, "mentioned_plac": 9, "extract_from_sec_fil": 9, "sec_filing_text": 9, "hint": 9, "prompt_extract": 9, "sec_extract": 9, "washington": 9, "beg": 9, "unnorm": 9, "0325": 9, "strongest": 9, "greedi": 9, "bfloat16": 9, "device_map": 9, "src": 9, "python3": 9, "nvml": 9, "return_tensor": 9, "pt": 9, "inference_mod": 9, "last_token_logit": 9, "next_token_prob": 9, "nn": 9, "dim": 9, "top_k_prob": 9, "top_k_indic": 9, "topk": 9, "top_k_token": 9, "decod": 9, "idx": 9, "skip_special_token": 9, "prob": 9, "0305": 9, "0197": 9, "0106": 9, "0093": 9, "logitsprocessor": 9, "logits_processor": 9, "logitsprocessorlist": 9, "customlogitsprocessor": 9, "intermediari": 9, "input_id": 9, "__call__": 9, "longtensor": 9, "batch_siz": 9, "sequence_length": 9, "floattensor": 9, "vocab_s": 9, "mask": 9, "pick": 9, "yesnologitsprocessor": 9, "initial_length": 9, "fill_": 9, "inf": 9, "debug": 9, "yes_token": 9, "add_special_token": 9, "no_token": 9, "yes_no_logit": 9, "yes_no_prob": 9, "yes_prob": 9, "no_prob": 9, "yes_mask": 9, "1e4": 9, "NO": 9, "generation_output_control": 9, "uncontrol": 9, "generation_output": 9, "4263": 9, "5737": 9, "10407": 9, "4607": 9, "6250": 9, "9219": 9, "helper": 9, "model_output": 9, "gen_output": 9, "batch_decod": 9, "clean_up_tokenization_spac": 9, "classic": 9, "italian": 9, "willard": 9, "louf": 9, "reformul": 9, "finit": 9, "fsm": 9, "s_": 9, "s_t": 9, "s_1": 9, "tild": 9, "odot": 9, "rightarrow": 9, "wise": 9, "thien": 9, "automaton": 9, "dfa": 9, "outgo": 9, "renorm": 9, "yy": 9, "ever": 9, "aa": 9, "lwai": 9, "prop": 9, "yynnaa": 9, "malform": 9, "sec_extraction_outlin": 9, "zsp": 9, "zicorp": 9, "with_structured_output": 9, "runnabl": 9, "typeddict": 9, "qu": 9, "langchain_openai": 9, "chatopenai": 9, "chatprompttempl": 9, "extract_from_sec_filing_langchain": 9, "structured_llm": 9, "from_messag": 9, "sec_extraction_langchain": 9, "bnf": 9, "backu": 9, "naur": 9, "fssl": 9, "extract_entities_from_sec_fil": 9, "ollama_structured_output_prompt_suffix": 9, "ollama_structured_output_temperatur": 9, "uncensor": 9, "model_json_schema": 9, "response_json": 9, "sharpli": 9, "exllama2": 9, "zoo": 9, "furthermor": 9, "nonetheless": 9, "extran": 9, "dispar": 9, "preval": 9, "peer": 9, "speak": 9, "aider": 9, "outweigh": 9, "rebutt": 9, "dottxt": 9, "reproduct": 9, "paint": 9, "flaw": 9, "uneven": 9, "conflat": 9, "drawback": 9, "pfiffer": 9, "wrestl": 9, "aid24": 9, "dot24": 9, "demo": 9, "gge24": 9, "lan4b": 9, "lww": 9, "xun": 9, "hanyu": 9, "yezhaohui": 9, "shichao": 9, "simin": 9, "shunyu": 9, "feiyu": 9, "zhiyu": 9, "12599": 9, "llf": 9, "xieyang": 9, "frederick": 9, "fiannaca": 9, "terri": 9, "koo": 9, "dixon": 9, "ea": 9, "3613905": 9, "3650756": 9, "xuan": 9, "hai": 9, "nguyen": 9, "ngoc": 9, "tiviati": 9, "hieu": 9, "dao": 9, "shafiq": 9, "joti": 9, "kenji": 9, "kawaguchi": 9, "nanci": 9, "min": 9, "kan": 9, "08656": 9, "nou24": 9, "out24": 9, "twt": 9, "zhi": 9, "kuang": 9, "tsai": 9, "chieh": 9, "hung": 9, "nung": 9, "02442": 9, "tt24": 9, "vivien": 9, "vivien000": 9, "wl23": 9, "r\u00e9mi": 9, "09702": 9, "guidanceai24": 9, "nvidia4a": 9, "wikipediacontributors24": 9, "wiktionari": 9, "naur_form": 9}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 2], "book": [0, 2], "content": [0, 3, 4, 5, 6, 7, 8, 9], "core": 0, "challeng": 0, "we": 0, "ll": 0, "address": 0, "A": [0, 2, 3, 4], "practic": [0, 2, 7, 9], "approach": [0, 4, 8], "an": 0, "open": [0, 2, 7], "sourc": [0, 2, 7], "note": [0, 3], "perspect": 0, "who": 0, "thi": 0, "i": [0, 3, 6], "For": 0, "outcom": 0, "prerequisit": 0, "set": 0, "up": 0, "your": [0, 7], "environ": 0, "code": 0, "repositori": 0, "python": 0, "setup": [0, 3], "api": [0, 8], "kei": [0, 5], "configur": 0, "troubleshoot": 0, "common": [0, 8], "issu": 0, "author": 0, "prefac": [1, 2], "tame": 2, "llm": [2, 4, 5, 7, 8], "guid": 2, "pitfal": [2, 8], "softwar": [2, 5], "chapter": 2, "1": [2, 8], "The": [2, 4, 5, 7], "eval": [2, 5, 8], "gap": [2, 5], "2": [2, 7, 8], "structur": [2, 6, 9], "output": [2, 9], "3": [2, 8], "manag": [2, 6], "input": [2, 6], "data": [2, 3, 6], "4": [2, 8], "safeti": [2, 8], "5": [2, 8], "prefer": [2, 3], "base": [2, 3, 5, 6, 8], "align": [2, 3], "6": [2, 8], "local": [2, 7], "7": 2, "fall": [2, 4], "cost": [2, 4, 7], "paradox": [2, 4], "8": 2, "frontier": 2, "appendix": 2, "tool": [2, 5, 7, 8, 9], "resourc": 2, "introduct": [3, 5, 6, 7, 8, 9], "from": 3, "raw": 3, "capabl": 3, "On": 3, "misalign": 3, "languag": 3, "model": [3, 5, 7], "human": 3, "supervis": 3, "fine": [3, 7, 9], "tune": [3, 7, 9], "sft": 3, "augment": [3, 6], "post": [3, 9], "train": 3, "answer": 3, "limit": 3, "collaps": 3, "fake": 3, "case": [3, 6, 7, 8], "studi": [3, 6, 7, 8], "polici": [3, 8], "experiment": 3, "deliver": 3, "smollm2": 3, "dataset": [3, 5, 7, 8], "synthet": 3, "gener": [3, 5, 6, 8], "user": [3, 8], "prompt": [3, 7, 9], "reject": 3, "respons": 3, "chosen": 3, "dpo": 3, "optim": [3, 4], "prepar": 3, "vibe": 3, "check": [3, 4], "evalu": [3, 5, 8], "discuss": [3, 6, 9], "conclus": [3, 4, 5, 6, 7, 8, 9], "refer": [3, 4, 5, 6, 7, 8, 9], "why": 4, "matter": 4, "more": 4, "than": 4, "ever": 4, "right": 4, "size": 4, "strateg": 4, "metric": [4, 5], "requir": [4, 5], "busi": 4, "perform": [4, 7], "oper": 4, "technic": [4, 8], "quantiz": [4, 7], "list": 4, "non": 5, "determinist": 5, "machin": 5, "emerg": 5, "properti": 5, "problem": [5, 9], "statement": [5, 9], "tradit": 5, "v": [5, 7], "design": [5, 8], "applic": 5, "test": 5, "matrix": 5, "conceptu": 5, "overview": 5, "consider": 5, "task": [5, 7], "benchmark": [5, 7, 8], "leaderboard": 5, "lightev": 5, "mmlu": 5, "econometr": 5, "sampl": [5, 8], "famili": [5, 7], "us": [5, 6], "langsmith": 5, "promptfoo": 5, "comparison": [5, 7, 9], "pars": 6, "document": 6, "markitdown": 6, "docl": 6, "framework": [6, 8, 9], "extract": 6, "retriev": 6, "chunk": 6, "contextu": 6, "link": 6, "long": 6, "form": 6, "ii": 6, "github": 6, "rag": 6, "iii": 6, "quiz": 6, "citat": 6, "implement": [6, 8], "exampl": 6, "usag": 6, "choos": 7, "suitabl": 7, "result": 7, "llama": 7, "licens": 7, "commun": 7, "support": 7, "custom": [7, 8], "mistral": [7, 8], "decemb": 7, "22": 7, "2024": 7, "deploy": 7, "serv": 7, "cpp": 7, "llamafil": 7, "ollama": [7, 9], "lama": 7, "ui": 7, "lm": 7, "studio": 7, "jan": 7, "webui": 7, "openwebui": 7, "effect": 7, "level": 7, "hardwar": 7, "takeawai": [7, 8], "risk": 8, "ai": 8, "amplifi": 8, "exist": 8, "harm": 8, "novel": 8, "associ": 8, "autonom": 8, "exacerb": 8, "factor": 8, "specif": 8, "guidanc": 8, "govern": 8, "organ": 8, "privat": 8, "sector": 8, "openai": 8, "anthrop": 8, "googl": 8, "rubric": 8, "mlcommon": 8, "centr": 8, "porquoi": 8, "red": 8, "team": 8, "constitut": 8, "explain": 8, "xai": 8, "plan": 8, "phase": 8, "definit": 8, "research": [8, 9], "identif": 8, "architectur": 8, "select": 8, "go": 8, "market": 8, "compon": 8, "salad": 8, "bench": 8, "truthfulqa": 8, "harmbench": 8, "safebench": 8, "techniqu": [8, 9], "repres": 8, "layer": 8, "map": 8, "rule": 8, "filter": 8, "moder": 8, "bad": 8, "good": 8, "guard": 8, "judg": 8, "valid": 8, "engin": 9, "json": 9, "mode": 9, "logit": 9, "process": 9, "outlin": 9, "langchain": 9, "best": 9, "compar": 9, "solut": 9, "ongo": 9, "debat": 9, "acknowledg": 9}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 57}, "alltitles": {"About the Book": [[0, "about-the-book"], [2, "about-the-book"]], "Contents": [[0, "contents"], [3, "contents"], [4, "contents"], [5, "contents"], [6, "contents"], [7, "contents"], [8, "contents"], [9, "contents"]], "Core Challenges We\u2019ll Address": [[0, "core-challenges-we-ll-address"]], "A Practical Approach": [[0, "a-practical-approach"]], "An Open Source Approach": [[0, "an-open-source-approach"]], "Open Source Book": [[0, "open-source-book"]], "A Note on Perspective": [[0, "a-note-on-perspective"]], "Who This Book Is For": [[0, "who-this-book-is-for"]], "Outcomes": [[0, "outcomes"]], "Prerequisites": [[0, "prerequisites"]], "Setting Up Your Environment": [[0, "setting-up-your-environment"]], "Code Repository": [[0, "code-repository"]], "Python Environment Setup": [[0, "python-environment-setup"]], "API Keys Configuration": [[0, "api-keys-configuration"]], "Troubleshooting Common Issues": [[0, "troubleshooting-common-issues"]], "About the Author": [[0, "about-the-author"]], "Preface": [[1, "preface"], [2, "preface"]], "Taming LLMs": [[2, "taming-llms"]], "A Practical Guide to LLM Pitfalls with Open Source Software": [[2, "a-practical-guide-to-llm-pitfalls-with-open-source-software"]], "Chapter 1: The Evals Gap": [[2, "chapter-1-the-evals-gap"]], "Chapter 2: Structured Output": [[2, "chapter-2-structured-output"]], "Chapter 3: Managing Input Data": [[2, "chapter-3-managing-input-data"]], "Chapter 4: Safety": [[2, "chapter-4-safety"]], "Chapter 5: Preference-Based Alignment": [[2, "chapter-5-preference-based-alignment"]], "Chapter 6: Local LLMs in Practice": [[2, "chapter-6-local-llms-in-practice"]], "Chapter 7: The Falling Cost Paradox": [[2, "chapter-7-the-falling-cost-paradox"]], "Chapter 8: Frontiers": [[2, "chapter-8-frontiers"]], "Appendix A: Tools and Resources": [[2, "appendix-a-tools-and-resources"]], "Preference-Based Alignment": [[3, "preference-based-alignment"]], "Introduction": [[3, "introduction"], [5, "introduction"], [6, "introduction"], [7, "introduction"], [8, "introduction"], [9, "introduction"]], "From Raw Capabilities to Preference Alignment": [[3, "from-raw-capabilities-to-preference-alignment"]], "On the Misalignment of Language Models": [[3, "on-the-misalignment-of-language-models"]], "Aligning Language Models with Human Preferences": [[3, "aligning-language-models-with-human-preferences"]], "Supervised Fine-Tuning (SFT) for Model Alignment": [[3, "supervised-fine-tuning-sft-for-model-alignment"]], "Augmenting SFT with Human Preferences": [[3, "augmenting-sft-with-human-preferences"]], "Is Post-Training the Answer?": [[3, "is-post-training-the-answer"]], "Limitations": [[3, "limitations"]], "Model Collapse": [[3, "model-collapse"]], "Faking Alignment": [[3, "faking-alignment"]], "Case Study: Aligning a Language Model to a Policy": [[3, "case-study-aligning-a-language-model-to-a-policy"]], "Experimental Setup": [[3, "experimental-setup"]], "Deliverables": [[3, "deliverables"]], "A Note on smolLM2 Models": [[3, "a-note-on-smollm2-models"]], "Policy": [[3, "policy"]], "Preference Dataset - Synthetic Dataset Generation": [[3, "preference-dataset-synthetic-dataset-generation"]], "User Prompts": [[3, "user-prompts"]], "Rejected Responses": [[3, "rejected-responses"]], "Chosen Responses": [[3, "chosen-responses"]], "Generate DPO Dataset": [[3, "generate-dpo-dataset"]], "DPO-Based Optimization": [[3, "dpo-based-optimization"]], "Data Preparation": [[3, "data-preparation"]], "Fine-Tuning": [[3, "fine-tuning"]], "Vibe Check": [[3, "vibe-check"]], "Alignment Evaluation": [[3, "alignment-evaluation"]], "Discussion and Conclusions": [[3, "discussion-and-conclusions"]], "References": [[3, "references"], [4, "references"], [5, "references"], [6, "references"], [7, "references"], [8, "references"], [9, "references"]], "The Falling Cost Paradox": [[4, "the-falling-cost-paradox"]], "Why Optimization Matters More Than Ever": [[4, "why-optimization-matters-more-than-ever"]], "Right-Sizing LLMs: A Strategic Approach": [[4, "right-sizing-llms-a-strategic-approach"]], "Metrics": [[4, "metrics"], [5, "metrics"]], "Requirements": [[4, "requirements"]], "Business Requirements": [[4, "business-requirements"]], "Performance Requirements": [[4, "performance-requirements"]], "Operational Requirements": [[4, "operational-requirements"]], "Technical Requirements": [[4, "technical-requirements"]], "Quantization": [[4, "quantization"], [7, "quantization"]], "Check-list": [[4, "check-list"]], "Conclusion": [[4, "conclusion"], [5, "conclusion"], [6, "conclusion"], [7, "conclusion"], [8, "conclusion"], [9, "conclusion"]], "The Evals Gap": [[5, "the-evals-gap"]], "Non-Deterministic Generative Machines": [[5, "non-deterministic-generative-machines"]], "Emerging Properties": [[5, "emerging-properties"]], "Problem Statement": [[5, "problem-statement"], [9, "problem-statement"]], "Evals of Traditional Software vs LLMs": [[5, "evals-table"]], "Evals Design": [[5, "evals-design"]], "LLM Application Testing Requirements Matrix": [[5, "validation-requirements"]], "Conceptual Overview": [[5, "conceptual-overview"]], "Design Considerations": [[5, "design-considerations"]], "Key Metrics for Evaluating Generative Tasks": [[5, "key-metrics"]], "Evaluators": [[5, "evaluators"]], "Model-Based Evaluation": [[5, "model-based-evaluation"]], "Evaluating Evaluators": [[5, "evaluating-evaluators"]], "Benchmarks and Leaderboards": [[5, "benchmarks-and-leaderboards"]], "Tools": [[5, "tools"], [9, "tools"]], "LightEval": [[5, "lighteval"]], "MMLU Econometrics Task Dataset sample": [[5, "mmlu-econometrics"]], "Model Families Evaluated Using LightEval": [[5, "model-families"]], "LangSmith": [[5, "langsmith"]], "PromptFoo": [[5, "promptfoo"]], "Comparison": [[5, "comparison"], [7, "comparison"], [7, "id37"]], "Comparison of Lighteval, LangSmith, and Promptfoo": [[5, "tool-comparison"]], "Managing Input Data": [[6, "managing-input-data"]], "Parsing Documents": [[6, "parsing-documents"]], "MarkItDown": [[6, "markitdown"]], "Docling": [[6, "docling"]], "Frameworks-Based Parsing": [[6, "frameworks-based-parsing"]], "Structured Data Extraction": [[6, "structured-data-extraction"]], "Retrieval-Augmented Generation": [[6, "retrieval-augmented-generation"]], "Case Studies": [[6, "case-studies"]], "Case Study I: Content Chunking with Contextual Linking": [[6, "case-study-i-content-chunking-with-contextual-linking"]], "Generating long-form content": [[6, "generating-long-form-content"]], "Discussion": [[6, "discussion"], [6, "id14"], [9, "discussion"]], "Case Study II: Github RAG": [[6, "case-study-ii-github-rag"]], "Case Study III: Quiz Generation with Citations": [[6, "case-study-iii-quiz-generation-with-citations"]], "Use Case": [[6, "use-case"]], "Implementation": [[6, "implementation"]], "Example Usage": [[6, "example-usage"]], "Local LLMs in Practice": [[7, "local-llms-in-practice"]], "Choosing your Model": [[7, "choosing-your-model"]], "Task Suitability": [[7, "task-suitability"]], "Benchmark results for Llama 2 family of models.": [[7, "llama2-benchmark"]], "Performance & Cost": [[7, "performance-cost"]], "Licensing": [[7, "licensing"]], "Open Source LLMs.": [[7, "open-source-llms"]], "Community Support": [[7, "community-support"]], "Customization": [[7, "customization"]], "Mistral fine-tuning costs as of December 22, 2024.": [[7, "mistral-costs"]], "Tools for Local LLM Deployment": [[7, "tools-for-local-llm-deployment"]], "Serving Models": [[7, "serving-models"]], "LLama.cpp": [[7, "llama-cpp"]], "Llamafile": [[7, "llamafile"]], "Ollama": [[7, "ollama"], [9, "ollama"]], "lama.cpp vs Ollama vs Llamafile Comparison": [[7, "feature-comparison-local"]], "UI": [[7, "ui"]], "LM Studio": [[7, "lm-studio"]], "Jan": [[7, "jan"]], "Open WebUI": [[7, "open-webui"]], "LM Studio vs Jan vs OpenWebUI Comparison": [[7, "feature-comparison-ui"]], "Case Study: The Effect of Quantization on LLM Performance": [[7, "case-study-the-effect-of-quantization-on-llm-performance"]], "Prompts Dataset": [[7, "prompts-dataset"]], "Quantization Levels": [[7, "quantization-levels"]], "Benchmarking": [[7, "benchmarking"], [8, "benchmarking"]], "Results": [[7, "results"]], "Quantization Benchmarks": [[7, "quantization-benchmarks"]], "Benchmarking Hardware": [[7, "benchmarking-hardware"]], "Takeaways": [[7, "takeaways"], [8, "takeaways"]], "Safety": [[8, "safety"]], "Safety Risks": [[8, "safety-risks"]], "General AI Safety Risks": [[8, "general-ai-safety-risks"]], "Amplified Existing Harms and Novel Risks": [[8, "amplified-existing-harms-and-novel-risks"]], "Risks Associated with Autonomous AI": [[8, "risks-associated-with-autonomous-ai"]], "Exacerbating Factors": [[8, "exacerbating-factors"]], "LLMs Specific Safety Risks": [[8, "llms-specific-safety-risks"]], "Guidance": [[8, "guidance"]], "Governments & Organizations": [[8, "governments-organizations"]], "Private Sector": [[8, "private-sector"]], "OpenAI": [[8, "openai"]], "Anthropic": [[8, "anthropic"]], "Google": [[8, "google"]], "Rubrics": [[8, "rubrics"]], "MLCommons AI Safety Benchmark": [[8, "mlcommons-ai-safety-benchmark"]], "Centre for the Governance of AI Rubric": [[8, "centre-for-the-governance-of-ai-rubric"]], "Porquoi": [[8, "porquoi"]], "Approaches": [[8, "approaches"]], "Red Teaming": [[8, "red-teaming"]], "Constitutional AI": [[8, "constitutional-ai"]], "Explainable AI (XAI)": [[8, "explainable-ai-xai"]], "Designing a Safety Plan": [[8, "designing-a-safety-plan"]], "Phase 1. Policy Definition": [[8, "phase-1-policy-definition"]], "Phase 2. User Research & Risk Identification": [[8, "phase-2-user-research-risk-identification"]], "Phase 3. Evaluation Framework": [[8, "phase-3-evaluation-framework"]], "Phase 4. Safety Architecture Design": [[8, "phase-4-safety-architecture-design"]], "Phase 5. Implementation & Tools Selection": [[8, "phase-5-implementation-tools-selection"]], "Phase 6. Go-to-Market": [[8, "phase-6-go-to-market"]], "Common Pitfalls": [[8, "common-pitfalls"]], "Technical Implementation Components": [[8, "technical-implementation-components"]], "Benchmarks & Datasets": [[8, "benchmarks-datasets"]], "SALAD-Bench": [[8, "salad-bench"]], "TruthfulQA": [[8, "truthfulqa"]], "HarmBench": [[8, "harmbench"]], "SafeBench": [[8, "safebench"]], "Tools & Techniques": [[8, "tools-techniques"]], "Representative Safety Layer Risk Map.": [[8, "safety-layer-table"]], "Rules-Based Safety Filtering": [[8, "rules-based-safety-filtering"]], "Rules-Based Safety Filtering Tools.": [[8, "safety-layer-tools"]], "LLM-Based Safety Filtering": [[8, "llm-based-safety-filtering"]], "Custom Moderation": [[8, "custom-moderation"]], "Case Study: Implementing a Safety Filter": [[8, "case-study-implementing-a-safety-filter"]], "Evals Dataset": [[8, "evals-dataset"]], "Bad Samples": [[8, "bad-samples"]], "Good Samples": [[8, "good-samples"]], "Safety Filters": [[8, "safety-filters"]], "LLM-Guard": [[8, "llm-guard"]], "Mistral Moderation API": [[8, "mistral-moderation-api"]], "OpenAI Moderation API": [[8, "openai-moderation-api"]], "Custom Judge Validator": [[8, "custom-judge-validator"]], "Structured Output": [[9, "structured-output"]], "Techniques": [[9, "techniques"]], "Prompt Engineering": [[9, "prompt-engineering"]], "JSON Mode (Fine-Tuned)": [[9, "json-mode-fine-tuned"]], "Logit Post-Processing": [[9, "logit-post-processing"]], "Outlines": [[9, "outlines"]], "LangChain": [[9, "langchain"]], "Best Practices": [[9, "best-practices"]], "Comparing Solutions": [[9, "comparing-solutions"]], "Structured Output Frameworks Comparison": [[9, "structured-output-frameworks"]], "Research and Ongoing Debate": [[9, "research-and-ongoing-debate"]], "Acknowledgements": [[9, "acknowledgements"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["markdown/intro", "markdown/preface", "markdown/toc", "notebooks/alignment", "notebooks/cost", "notebooks/evals", "notebooks/input", "notebooks/local", "notebooks/safety", "notebooks/structured_output"], "filenames": ["markdown/intro.md", "markdown/preface.md", "markdown/toc.md", "notebooks/alignment.ipynb", "notebooks/cost.ipynb", "notebooks/evals.ipynb", "notebooks/input.ipynb", "notebooks/local.ipynb", "notebooks/safety.ipynb", "notebooks/structured_output.ipynb"], "titles": ["2. About the Book", "1. Preface", "Taming LLMs", "7. Preference-Based Alignment", "9. The Falling Cost Paradox", "3. The Evals Gap", "5. Managing Input Data", "8. Local LLMs in Practice", "6. Safety", "4. Structured Output"], "terms": {"am": [0, 8], "alwai": [0, 3, 4, 5, 6, 9], "do": [0, 3, 4, 5, 6, 7, 8, 9], "which": [0, 3, 4, 5, 6, 7, 8, 9], "cannot": [0, 3, 4, 5, 7, 8], "order": [0, 3, 5, 6, 8, 9], "mai": [0, 1, 3, 4, 5, 6, 7, 8, 9], "learn": [0, 3, 5, 6, 7, 8, 9], "how": [0, 1, 3, 4, 5, 6, 7, 8, 9], "pablo": [0, 5], "picasso": 0, "In": [0, 3, 4, 5, 6, 7, 8, 9], "recent": [0, 3, 4, 5, 6, 7, 8, 9], "year": [0, 2, 3, 4, 5, 6, 7, 8, 9], "larg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "languag": [0, 1, 2, 4, 5, 6, 7, 8, 9], "model": [0, 1, 2, 4, 6, 8, 9], "llm": [0, 1, 3, 9], "have": [0, 1, 3, 4, 5, 6, 7, 8, 9], "emerg": [0, 3, 4, 6, 7, 8, 9], "transform": [0, 1, 3, 5, 6, 7, 8, 9], "forc": [0, 5, 6, 9], "technologi": [0, 1, 4, 5, 6, 7, 8], "promis": [0, 3, 4, 5, 8], "revolution": [0, 8], "build": [0, 2, 3, 5, 6, 7, 8, 9], "product": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "interact": [0, 3, 4, 5, 6, 7, 8, 9], "comput": [0, 3, 4, 5, 6, 7, 8, 9], "from": [0, 1, 4, 5, 6, 7, 8, 9], "chatgpt": [0, 3, 4, 6, 7, 9], "llama": [0, 3, 4, 5, 6, 8, 9], "github": [0, 2, 3, 4, 5, 6, 7, 8, 9], "copilot": 0, "claud": [0, 3, 5, 7, 8], "artifact": 0, "system": [0, 3, 4, 5, 6, 7, 8, 9], "captur": [0, 1, 3, 5, 6, 7, 8], "public": [0, 3, 5, 6, 7, 8], "imagin": [0, 7], "spark": 0, "gold": [0, 3, 6, 8], "rush": 0, "ai": [0, 3, 4, 5, 6, 7, 9], "power": [0, 2, 3, 4, 5, 6, 7, 8, 9], "applic": [0, 1, 2, 3, 4, 6, 7, 8, 9], "howev": [0, 3, 4, 5, 6, 7, 8, 9], "beneath": 0, "surfac": [0, 5], "technolog": [0, 1, 4, 5, 6, 8], "revolut": [0, 4], "li": [0, 3, 5, 6, 7, 8, 9], "complex": [0, 1, 3, 5, 6, 7, 8, 9], "landscap": [0, 3, 5, 7], "softwar": [0, 1, 3, 4, 6, 7, 8, 9], "develop": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tech": [0, 7, 8], "leader": [0, 2, 5, 8], "must": [0, 3, 4, 5, 7, 8, 9], "navig": [0, 2, 5, 6, 7, 8], "focus": [0, 3, 4, 5, 6, 7, 8, 9], "bring": [0, 3, 6, 7], "awar": [0, 3, 4, 5, 6, 8], "limit": [0, 1, 2, 4, 5, 7, 8, 9], "har": [0, 2, 5], "solut": [0, 2, 4, 5, 6, 7, 8], "overcom": [0, 5, 6], "them": [0, 1, 3, 4, 5, 6, 7, 8, 9], "robust": [0, 3, 4, 5, 6, 7, 8, 9], "It": [0, 3, 4, 5, 6, 7, 8, 9], "offer": [0, 3, 4, 5, 6, 7, 8, 9], "critic": [0, 2, 3, 4, 5, 6, 7, 8, 9], "implement": [0, 2, 3, 4, 5, 7, 9], "back": [0, 5, 6, 7, 8, 9], "reproduc": [0, 1, 2, 5, 7], "exampl": [0, 1, 2, 3, 5, 7, 8, 9], "while": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "mani": [0, 1, 3, 4, 5, 6, 7, 8, 9], "resourc": [0, 3, 4, 5, 6, 7, 8], "cover": [0, 3, 4, 5, 6, 7, 8, 9], "capabl": [0, 1, 2, 4, 5, 6, 7, 8, 9], "specif": [0, 3, 4, 5, 6, 7, 9], "hidden": [0, 3, 8], "pitfal": [0, 1, 3, 4, 5, 6, 7, 9], "engin": [0, 1, 2, 3, 4, 5, 6, 7, 8], "technic": [0, 1, 2, 3, 5, 6, 7, 9], "face": [0, 3, 4, 5, 6, 7, 8], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "comprehens": [0, 2, 3, 4, 5, 6, 7, 8, 9], "guid": [0, 1, 3, 4, 5, 6, 7, 8, 9], "leverag": [0, 3, 5, 6, 7, 8, 9], "battl": [0, 2, 7], "test": [0, 2, 3, 4, 6, 7, 8, 9], "tool": [0, 1, 3, 4, 6], "throughout": [0, 4, 5, 6, 7, 8], "tackl": [0, 3, 5, 6, 8], "follow": [0, 3, 4, 5, 6, 7, 8, 9], "non": [0, 3, 6, 7, 8, 9], "exhaust": [0, 6, 7], "list": [0, 3, 5, 6, 7, 8, 9], "structur": [0, 3, 4, 5, 7, 8], "un": 0, "reliabl": [0, 1, 3, 4, 5, 6, 7, 8, 9], "struggl": [0, 1, 3, 5, 6, 7, 8, 9], "maintain": [0, 1, 3, 4, 5, 6, 7, 8, 9], "consist": [0, 1, 3, 4, 5, 6, 7, 8, 9], "output": [0, 1, 3, 5, 6, 7, 8], "format": [0, 3, 4, 5, 6, 7, 8, 9], "complic": [0, 8], "integr": [0, 1, 3, 4, 5, 6, 7, 8, 9], "larger": [0, 3, 4, 5, 6, 7, 8, 9], "make": [0, 3, 4, 5, 6, 7, 8, 9], "error": [0, 3, 5, 6, 8, 9], "handl": [0, 3, 4, 5, 6, 7, 8, 9], "more": [0, 1, 3, 5, 6, 7, 8, 9], "input": [0, 3, 5, 7, 8, 9], "data": [0, 1, 4, 5, 7, 8, 9], "manag": [0, 1, 4, 5, 7, 8, 9], "ar": [0, 1, 3, 4, 5, 6, 7, 8, 9], "sensit": [0, 3, 4, 5, 6, 7, 8], "oper": [0, 3, 5, 6, 7, 8, 9], "stale": [0, 6], "long": [0, 1, 3, 4, 5, 7, 8, 9], "context": [0, 1, 3, 4, 5, 6, 7, 8, 9], "requir": [0, 3, 6, 7, 8, 9], "care": [0, 3, 4, 5, 6, 7, 8, 9], "retriev": [0, 4, 5, 7], "strategi": [0, 3, 4, 5, 6, 7, 8, 9], "tradit": [0, 3, 6, 7, 8], "methodologi": [0, 3, 5, 7, 8, 9], "break": [0, 1, 3, 4, 5, 6, 8], "down": [0, 1, 4, 5, 6, 7, 8], "deal": [0, 3, 6, 7], "determinist": [0, 6, 9], "gener": [0, 1, 4, 7, 9], "new": [0, 2, 3, 4, 5, 6, 7, 8, 9], "safeti": [0, 3, 5, 9], "can": [0, 1, 3, 4, 5, 6, 7, 8, 9], "harm": [0, 3, 5, 7], "bias": [0, 3, 5, 6, 7, 8, 9], "inappropri": [0, 3, 8], "safeguard": [0, 5, 8], "monitor": [0, 3, 4, 5, 6, 7, 8], "ensur": [0, 3, 4, 5, 6, 7, 8, 9], "safe": [0, 3, 5, 8, 9], "deploy": [0, 3, 4, 5, 8, 9], "align": [0, 4, 5, 6, 7, 8, 9], "next": [0, 1, 3, 4, 5, 6, 7, 8, 9], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9], "predict": [0, 1, 3, 5, 6, 7, 8, 9], "mean": [0, 3, 4, 5, 6, 7, 8, 9], "thei": [0, 1, 3, 4, 5, 6, 7, 8, 9], "user": [0, 1, 4, 5, 6, 7, 9], "": [0, 1, 3, 4, 5, 6, 7, 8, 9], "prefer": [0, 5, 6, 7, 8, 9], "default": [0, 3, 5, 6, 7, 8, 9], "vendor": [0, 4, 5, 7], "lock": [0, 3, 4, 7], "cloud": [0, 3, 4, 5, 6, 7, 8, 9], "base": [0, 1, 4, 7, 9], "provid": [0, 2, 3, 4, 5, 6, 7, 8, 9], "creat": [0, 1, 3, 4, 5, 6, 7, 8, 9], "signific": [0, 3, 4, 5, 6, 7, 8, 9], "depend": [0, 3, 4, 5, 6, 7, 9], "through": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "proprietari": [0, 3, 7, 8, 9], "infrastructur": [0, 4, 7], "difficult": [0, 3, 5, 6, 8], "switch": [0, 7], "self": [0, 3, 5, 6, 7, 8, 9], "host": [0, 4, 5, 7, 8], "cost": [0, 3, 5, 6, 8, 9], "optim": [0, 1, 5, 6, 7, 8], "The": [0, 1, 3, 6, 8, 9], "financi": [0, 1, 3, 4, 5, 6, 8, 9], "quickli": [0, 3, 4, 6, 7], "becom": [0, 3, 4, 5, 6, 7, 8, 9], "prohibit": [0, 3, 5, 6, 7], "without": [0, 1, 3, 4, 5, 6, 7, 8, 9], "conclud": [0, 5, 6, 7], "discuss": [0, 4, 5, 7, 8], "futur": [0, 3, 4, 5, 7, 8], "aris": [0, 3, 5, 6, 8], "move": [0, 3, 4, 5, 6, 7, 8], "forward": [0, 3, 5, 8], "take": [0, 2, 3, 4, 5, 6, 7, 8, 9], "hand": [0, 6, 7, 8, 9], "focu": [0, 2, 3, 4, 5, 6, 7, 8, 9], "access": [0, 3, 4, 5, 6, 7, 8, 9], "all": [0, 1, 3, 4, 5, 6, 7, 8, 9], "fulli": [0, 3, 5, 8], "document": [0, 3, 4, 5, 7, 8, 9], "allow": [0, 5, 6, 7, 8, 9], "reader": [0, 2, 6, 8], "replic": [0, 5, 6, 8, 9], "result": [0, 3, 4, 5, 6, 8, 9], "exactli": [0, 5, 6, 9], "design": [0, 1, 3, 6, 7, 9], "run": [0, 3, 4, 5, 6, 7, 8, 9], "consum": [0, 3, 4, 5, 6, 7, 8, 9], "grade": [0, 3, 4, 5, 6, 7, 8], "hardwar": [0, 3, 4, 5], "expens": [0, 3, 4, 5, 6, 7, 8], "avail": [0, 3, 4, 5, 6, 7, 8, 9], "notebook": [0, 3, 6, 9], "modifi": [0, 3, 5, 8, 9], "extend": [0, 3, 4, 5, 6, 7, 9], "minim": [0, 3, 4, 5, 6, 7, 8, 9], "effect": [0, 1, 3, 4, 5, 6, 8, 9], "framework": [0, 3, 4, 5, 7], "wai": [0, 3, 4, 5, 6, 7, 8, 9], "priorit": [0, 3, 5, 6, 7, 8], "transpar": [0, 3, 4, 5, 7, 8], "visibl": [0, 5], "being": [0, 3, 4, 5, 6, 7, 8, 9], "better": [0, 2, 3, 4, 5, 6, 7, 8, 9], "understand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "custom": [0, 3, 5, 6, 9], "flexibl": [0, 4, 5, 6, 7, 8, 9], "adapt": [0, 3, 4, 5, 7, 8], "us": [0, 1, 3, 4, 7, 8, 9], "case": [0, 4, 5, 9], "unlik": [0, 3, 5, 7], "black": [0, 3], "box": [0, 7], "commerci": [0, 5, 7, 8, 9], "most": [0, 3, 4, 5, 6, 7, 8, 9], "freeli": [0, 9], "foster": [0, 3, 5, 8, 9], "reduc": [0, 3, 4, 5, 6, 7, 8, 9], "independ": [0, 5, 6, 8, 9], "freedom": [0, 7, 9], "architectur": [0, 3, 4, 5, 6, 7, 9], "decis": [0, 3, 4, 5, 6, 7, 8], "keep": [0, 3, 5, 6, 7, 8], "principl": [0, 3, 5, 7, 8], "itself": [0, 3, 5, 6, 7, 8], "live": [0, 1, 5, 6, 8], "evolv": [0, 4, 5, 6, 7, 8], "chang": [0, 3, 5, 6, 7, 8], "encourag": [0, 3, 5, 6, 8, 9], "report": [0, 3, 5, 6, 7, 8, 9], "suggest": [0, 3, 5, 6, 7, 8, 9], "improv": [0, 3, 4, 5, 6, 7, 8, 9], "contribut": [0, 4, 5, 6, 7, 8], "via": [0, 3, 4, 5, 6, 7, 8, 9], "pull": [0, 7], "request": [0, 3, 4, 5, 6, 7, 8, 9], "share": [0, 3, 5, 6, 7, 8, 9], "own": [0, 3, 4, 5, 6, 7, 8], "experi": [0, 3, 4, 5, 6, 7, 8, 9], "commun": [0, 3, 4, 5, 6, 8, 9], "propos": [0, 4, 5, 6, 8], "chapter": [0, 3, 4, 5, 6, 7, 8, 9], "section": [0, 3, 4, 5, 6, 7, 8, 9], "found": [0, 3, 4, 5, 7, 9], "http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "com": [0, 2, 3, 4, 5, 6, 7, 8, 9], "souzatharsi": [0, 2, 3, 4, 5, 6, 7, 8, 9], "tamingllm": [0, 2, 3, 4, 5, 6, 7, 8, 9], "whether": [0, 3, 4, 5, 6, 7, 8, 9], "you": [0, 1, 3, 4, 5, 6, 7, 8, 9], "ve": [0, 7], "typo": [0, 8], "want": [0, 1, 3, 6, 7, 8, 9], "welcom": 0, "pleas": [0, 3, 5, 7, 8], "feel": [0, 6, 7], "free": [0, 1, 3, 5, 6, 7, 8], "look": [0, 2, 3, 4, 5, 6, 7, 8], "our": [0, 1, 3, 4, 5, 6, 7, 8, 9], "goal": [0, 1, 3, 5, 6, 8, 9], "discourag": [0, 6], "enabl": [0, 3, 4, 5, 6, 7, 8, 9], "By": [0, 1, 2, 3, 5, 6, 8, 9], "upfront": [0, 2, 4], "equip": [0, 2, 5, 6, 8], "avoid": [0, 3, 5, 7, 8, 9], "current": [0, 2, 3, 4, 5, 6, 8, 9], "discours": [0, 2], "around": [0, 2, 3, 5, 6, 7, 8, 9], "tend": [0, 2, 5, 8], "toward": [0, 3, 5, 8, 9], "extrem": [0, 3, 4, 5, 6, 8], "either": [0, 3, 5, 6, 7, 8], "uncrit": 0, "enthusiasm": 0, "wholesal": [0, 5], "dismiss": 0, "differ": [0, 3, 4, 5, 6, 7, 8, 9], "rather": [0, 1, 3, 4, 5, 6, 7, 8], "than": [0, 1, 3, 5, 6, 7, 8, 9], "theoret": [0, 3], "examin": [0, 3, 5, 6, 7, 8, 9], "first": [0, 1, 3, 4, 5, 6, 7, 8, 9], "everi": [0, 4, 5, 6, 8], "concept": [0, 3, 5, 6, 8], "illustr": [0, 3, 5, 6, 7, 8, 9], "execut": [0, 5, 7, 8], "immedi": [0, 3, 4, 5, 7], "analysi": [0, 1, 3, 4, 5, 6, 7, 8], "balanc": [0, 3, 4, 5, 6, 7, 8, 9], "both": [0, 3, 4, 5, 6, 7, 8], "help": [0, 3, 4, 5, 6, 7, 8, 9], "inform": [0, 3, 4, 5, 6, 7, 8, 9], "lead": [0, 1, 3, 4, 5, 6, 7, 8, 9], "genai": [0, 1, 3, 6, 8], "initi": [0, 1, 3, 4, 5, 6, 7, 8, 9], "advoc": [0, 8], "anyon": [0, 8], "seek": [0, 5, 6, 7, 8], "work": [0, 1, 3, 4, 5, 6, 7, 8, 9], "typic": [0, 3, 4, 5, 6, 7, 8, 9], "job": [0, 5, 6, 7, 8], "role": [0, 3, 5, 6, 7, 8, 9], "platform": [0, 5, 6, 7, 8, 9], "backend": [0, 3, 5], "exist": [0, 3, 4, 5, 7], "ml": [0, 6, 8], "transit": [0, 4, 5, 7, 9], "overse": 0, "motiv": [0, 3, 4, 5, 6, 9], "need": [0, 3, 4, 5, 6, 7, 8, 9], "readi": [0, 5, 6, 8], "desir": [0, 1, 3, 5, 6, 9], "perform": [0, 3, 5, 6, 8, 9], "earli": [0, 3, 4, 5, 6, 8, 9], "befor": [0, 3, 4, 5, 6, 8, 9], "costli": [0, 5, 6, 8], "problem": [0, 1, 2, 3, 4, 6, 7, 8], "too": [0, 1, 3, 5, 7, 8], "late": [0, 3, 4, 8, 9], "lifecycl": [0, 7, 8], "after": [0, 1, 3, 5, 6, 7, 8, 9], "read": [0, 3, 4, 5, 6, 8, 9], "implic": [0, 1, 3, 5, 8], "recommend": [0, 3, 5, 6, 7, 8, 9], "abl": [0, 3, 5, 9], "deploi": [0, 3, 5, 7, 8], "proper": [0, 3, 4, 7, 8, 9], "realist": [0, 3, 4, 8], "effort": [0, 5, 7, 8, 9], "estim": [0, 4, 5, 6, 8], "project": [0, 3, 4, 5, 6, 7, 8], "impact": [0, 3, 4, 5, 6, 7, 8, 9], "timelin": 0, "To": [0, 3, 5, 7, 8, 9], "should": [0, 3, 4, 5, 6, 7, 8, 9], "basic": [0, 3, 5, 6, 7, 8], "program": [0, 5, 6, 7, 9], "knowledg": [0, 3, 5, 7, 8], "mistral": [0, 3, 9], "openai": [0, 3, 5, 6, 7, 9], "anthrop": [0, 3, 6, 9], "similar": [0, 3, 4, 5, 6, 7, 9], "dive": [0, 4], "here": [0, 2, 3, 4, 5, 6, 7, 8, 9], "get": [0, 3, 4, 5, 6, 7, 8, 9], "start": [0, 3, 4, 5, 6, 7, 8, 9], "clone": [0, 3], "companion": 0, "git": 0, "cd": 0, "activ": [0, 3, 4, 5, 6, 7, 8], "virtual": [0, 5], "m": [0, 3, 5, 6, 7, 8, 9], "venv": [0, 9], "tame": [0, 3, 4, 5, 6, 7, 8, 9], "env": [0, 3, 5, 6, 8, 9], "bin": [0, 7], "On": [0, 5, 6, 7, 9], "window": [0, 4, 5, 6, 7], "script": [0, 7], "try": [0, 1, 3, 5, 6, 8, 9], "each": [0, 3, 4, 5, 6, 7, 8, 9], "contain": [0, 3, 4, 5, 6, 7, 8, 9], "possibl": [0, 3, 4, 5, 6, 7, 8, 9], "includ": [0, 1, 3, 4, 5, 6, 7, 8, 9], "necessari": [0, 3, 4, 5, 8], "instal": [0, 3, 5, 7, 9], "go": [0, 3, 5, 6, 9], "packag": [0, 4, 5, 6, 7, 9], "e": [0, 1, 3, 4, 5, 6, 7, 8, 9], "g": [0, 3, 4, 5, 6, 7, 8, 9], "pip": [0, 3, 5, 7, 9], "poetri": [0, 8], "file": [0, 3, 5, 6, 7, 8, 9], "root": [0, 3], "directori": [0, 5, 6, 7], "add": [0, 3, 5, 6, 7, 8], "other": [0, 3, 4, 5, 6, 7, 8, 9], "openai_api_kei": [0, 3], "your_openai_api_key_her": 0, "never": [0, 9], "commit": [0, 3, 5, 8], "version": [0, 3, 4, 5, 6, 7, 8, 9], "control": [0, 1, 3, 4, 5, 6, 7, 8, 9], "kept": [0, 5], "privat": [0, 5], "If": [0, 1, 3, 4, 5, 6, 7, 8, 9], "encount": [0, 2, 5, 8], "rate": [0, 3, 4, 5, 6, 7, 8], "consid": [0, 3, 4, 5, 6, 7, 8, 9], "smaller": [0, 3, 4, 5, 6, 7, 9], "retri": [0, 9], "logic": [0, 1, 3, 5, 6, 8], "conflict": [0, 3, 5], "fresh": 0, "like": [0, 1, 3, 4, 5, 6, 7, 8, 9], "check": [0, 5, 6, 7, 8, 9], "page": [0, 5, 6, 7], "known": [0, 5, 6, 8, 9], "now": [0, 1, 3, 4, 5, 6, 7, 8, 9], "let": [0, 3, 4, 5, 6, 7, 8, 9], "begin": [0, 5, 7, 8, 9], "explor": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tharsi": [0, 2, 3, 4, 5, 6, 7, 8, 9], "souza": [0, 2, 3, 4, 5, 6, 7, 8, 9], "ph": [0, 8], "d": [0, 3, 4, 5, 6, 7, 8, 9], "scienc": [0, 3, 5, 8], "ucl": 0, "univers": [0, 5, 7, 8], "london": 0, "scientist": [0, 1, 7, 8], "special": [0, 4, 5, 6, 7, 8, 9], "he": [0, 3, 5, 6, 8], "lectur": 0, "columbia": 0, "master": [0, 4, 7, 9], "appli": [0, 3, 5, 6, 7, 8, 9], "analyt": 0, "incom": [0, 5, 6], "head": [0, 3, 5, 6, 8, 9], "equiti": [0, 5, 6], "citadel": 0, "former": [0, 1, 5, 7], "senior": [0, 5], "vp": 0, "two": [0, 3, 4, 5, 6, 7, 8, 9], "sigma": [0, 3], "invest": [0, 3, 4, 5, 6, 8], "mentor": 0, "under": [0, 3, 4, 5, 7, 8, 9], "repres": [0, 3, 4, 5, 6, 7, 9], "student": [0, 3, 6, 8], "profession": [0, 3, 5, 6, 8, 9], "divers": [0, 3, 4, 5, 6, 8], "global": [0, 5, 6, 8], "ecosystem": [0, 4, 5, 7], "With": [0, 3, 5, 6, 7, 8, 9], "over": [0, 2, 3, 4, 5, 6, 7, 8, 9], "15": [0, 5, 6, 7, 8, 9], "deliv": [0, 4, 5, 6, 7], "across": [0, 3, 4, 5, 6, 7, 8, 9], "startup": 0, "fortun": 0, "500": [0, 3, 5, 6, 8], "compani": [0, 3, 4, 5, 6, 8, 9], "also": [0, 3, 4, 5, 6, 7, 8, 9], "numer": [0, 4, 5, 6, 8, 9], "scholarli": 0, "frequent": [0, 5, 6, 7, 9], "speaker": [0, 5], "academ": [0, 3, 5, 8], "busi": [0, 5, 6, 7, 8], "confer": [0, 6, 9], "ground": [0, 3, 5, 6, 7], "background": [0, 1, 5, 6, 7], "draw": [0, 3, 5, 8, 9], "scale": [0, 3, 4, 5, 6, 7, 8, 9], "stage": [0, 3, 8, 9], "major": [0, 3, 4, 5, 6, 7, 8, 9], "institut": [0, 5, 8], "well": [0, 3, 4, 5, 6, 7, 8, 9], "uniqu": [0, 3, 4, 5, 6, 7, 8, 9], "bridg": [0, 7, 8], "gap": [0, 1, 3, 4, 6, 7, 8], "between": [0, 1, 3, 4, 5, 6, 7, 8, 9], "potenti": [0, 1, 3, 4, 5, 6, 7, 8, 9], "tell": [1, 3, 8], "mere": [1, 5], "what": [1, 3, 4, 5, 6, 7, 8, 9], "someth": [1, 5, 7], "i": [1, 2, 4, 5, 7, 8, 9], "emanuel": [1, 3, 5, 8], "derman": 1, "an": [1, 2, 3, 4, 5, 6, 7, 8, 9], "altern": [1, 3, 4, 5, 6, 7, 8], "titl": [1, 2, 3, 4, 5, 6, 7, 8, 9], "thi": [1, 2, 3, 4, 5, 6, 7, 8, 9], "book": [1, 5, 6], "could": [1, 3, 4, 5, 6, 7, 8, 9], "been": [1, 3, 4, 5, 6, 7, 8], "behav": 1, "badli": 1, "come": [1, 3, 5, 6, 7, 8, 9], "notic": [1, 3, 4, 5, 6, 8, 9], "parallel": [1, 3, 5, 7], "semin": [1, 8], "2011": 1, "coincident": 1, "just": [1, 3, 4, 5, 6, 7, 8, 9], "caution": 1, "against": [1, 3, 4, 5, 6, 7, 8], "treat": [1, 5, 8], "perfect": [1, 5, 7], "represent": [1, 5, 6, 7, 8], "realiti": [1, 6, 8], "aim": [1, 3, 4, 5, 6, 7, 8, 9], "highlight": [1, 3, 5, 6, 7, 8, 9], "practic": [1, 3, 4, 5, 6, 8], "physicist": 1, "goldman": 1, "sach": 1, "quant": 1, "scientif": [1, 3, 5, 7], "fail": [1, 3, 5, 6, 8], "we": [1, 3, 4, 5, 6, 7, 8, 9], "mistak": [1, 8], "approxim": [1, 4, 5, 9], "full": [1, 3, 4, 5, 6, 7, 8, 9], "assumpt": [1, 5, 8], "core": [1, 4, 5, 6, 7, 8], "premis": [1, 7], "hi": [1, 5, 8, 9], "aspect": [1, 3, 5, 6, 8], "world": [1, 3, 4, 5, 6, 7, 8, 9], "inher": [1, 2, 3, 5, 8], "involv": [1, 3, 4, 5, 6, 7, 8, 9], "simplif": 1, "argu": [1, 4, 8, 9], "crise": 1, "2008": 1, "crash": 1, "occur": [1, 3, 5, 8], "part": [1, 3, 4, 5, 6, 8, 9], "becaus": [1, 3, 5, 6, 8], "peopl": [1, 3, 5, 7, 8], "put": [1, 5, 7], "much": [1, 3, 5, 6, 7], "faith": 1, "mathemat": [1, 5, 6, 7, 9], "recogn": [1, 3, 5, 8], "human": [1, 4, 5, 6, 7, 8, 9], "behavior": [1, 3, 5, 7, 8], "market": [1, 4, 5, 6, 7, 9], "dynam": [1, 3, 5, 6, 8], "constraint": [1, 3, 4, 5, 6, 7, 8, 9], "hallucin": [1, 3, 5, 6, 8, 9], "fact": [1, 3, 5, 6, 8], "reason": [1, 3, 5, 6, 7, 8, 9], "Their": [1, 5, 9], "respons": [1, 4, 5, 6, 7, 8, 9], "often": [1, 3, 4, 5, 6, 7, 8, 9], "convinc": [1, 3], "probabilist": [1, 5, 9], "train": [1, 4, 5, 6, 7, 8, 9], "true": [1, 3, 4, 5, 6, 8, 9], "even": [1, 3, 4, 5, 6, 7, 8, 9], "though": [1, 3, 4, 5, 6, 7, 8, 9], "insist": 1, "machin": [1, 3, 6, 7, 8, 9], "todai": [1, 4, 7, 9], "grow": [1, 3, 5, 6, 7, 8, 9], "pervas": [1, 8], "belief": [1, 7, 8], "solv": [1, 3, 4, 5, 7, 8, 9], "ani": [1, 3, 4, 5, 6, 7, 8, 9], "content": 1, "moreov": [1, 6], "were": [1, 3, 5, 7, 8, 9], "chatbot": [1, 3, 5, 6, 7, 8], "twist": [1, 8], "wrap": [1, 6, 7, 9], "further": [1, 3, 4, 5, 6, 7, 8, 9], "daili": [1, 4, 7, 8], "life": [1, 5, 7, 8], "workflow": [1, 4, 5, 7, 8, 9], "affect": [1, 5, 6, 7, 8], "decid": [1, 3, 5, 6], "action": [1, 3, 5, 6, 8], "coupl": [1, 7], "lack": [1, 3, 5, 6, 8, 9], "pose": [1, 3, 5, 6, 8, 9], "risk": [1, 3, 4, 5, 6, 7], "still": [1, 4, 5, 6, 7, 8], "figur": [1, 5, 7], "out": [1, 3, 4, 5, 6, 7, 8, 9], "serv": [1, 3, 4, 5, 6, 8, 9], "introductori": [1, 2], "practition": [1, 4, 5, 7, 9], "builder": [1, 7], "who": [1, 3, 5, 6, 7, 8, 9], "remain": [1, 3, 4, 5, 6, 7, 8], "clear": [1, 3, 4, 5, 6, 7, 8, 9], "ei": 1, "about": [1, 3, 4, 5, 6, 7, 8, 9], "therefor": [1, 3, 5, 6, 7, 8], "end": [1, 3, 4, 5, 6, 7, 8, 9], "detail": [1, 3, 4, 5, 6, 7, 8, 9], "python": [1, 2, 5, 6, 7, 8, 9], "code": [1, 2, 3, 5, 6, 7, 8, 9], "diminish": [1, 3, 4, 5, 6], "promot": [1, 3, 5, 8], "nuanc": [1, 3, 5, 6, 7, 8, 9], "acknowledg": [1, 5, 8], "within": [1, 3, 4, 5, 6, 7, 8, 9], "trustworthi": [1, 8], "taught": 1, "u": [1, 3, 5, 6, 8, 9], "step": [1, 3, 4, 5, 6, 7, 8, 9], "where": [1, 3, 4, 5, 6, 7, 8, 9], "der11": 1, "why": [1, 3, 5, 8, 9], "confus": [1, 4, 8], "illus": 1, "disast": [1, 5], "wall": [1, 7], "street": [1, 7], "press": [1, 5, 7], "isbn": [1, 3, 5, 6], "9781439165010": 1, "url": [1, 2, 3, 4, 5, 6, 7, 8, 9], "googl": [1, 5, 7, 9], "co": [1, 3, 4, 5, 6, 7, 8, 9], "uk": [1, 8], "id": [1, 5, 6, 7, 8, 9], "lke_cwm4wm8c": 1, "sign": [2, 5, 8], "up": [2, 3, 4, 5, 6, 7, 8], "receiv": [2, 3, 5, 7, 8, 9], "updat": [2, 3, 4, 5, 6, 7, 8, 9], "abstract": [2, 5, 6, 8, 9], "heavili": [2, 3, 4, 5, 6, 8, 9], "gloss": 2, "fundament": [2, 3, 5, 6, 7, 8, 9], "challeng": [2, 3, 4, 5, 7, 8, 9], "convers": [2, 3, 4, 5, 6, 7, 8, 9], "kei": [2, 3, 4, 6, 7, 8, 9], "proven": [2, 4], "yet": [2, 3, 4, 5, 6, 7, 8, 9], "concret": [2, 4, 8, 9], "sidestep": 2, "misc": [2, 3, 4, 5, 6, 7, 8, 9], "tharsistpsouza2024tamingllm": [2, 3, 4, 5, 6, 7, 8, 9], "author": [2, 3, 4, 5, 6, 7, 8, 9], "t": [2, 3, 4, 5, 6, 7, 8, 9], "p": [2, 3, 4, 5, 6, 7, 8, 9], "2024": [2, 3, 4, 5, 6, 8, 9], "journal": [2, 3, 4, 5, 6, 7, 8, 9], "repositori": [2, 3, 4, 5, 6, 7, 8, 9], "valu": [3, 5, 6, 7, 8, 9], "its": [3, 4, 5, 6, 7, 8, 9], "privileg": 3, "abov": [3, 5, 6, 8], "soon": [3, 9], "lose": [3, 5], "dwight": 3, "eisenhow": 3, "releas": [3, 4, 5, 6, 7, 8], "3": [3, 4, 5, 6, 7, 9], "5": [3, 4, 5, 6, 7, 9], "2022": [3, 5, 7, 8], "mark": [3, 5, 6, 7, 8], "moment": [3, 8], "histori": [3, 4, 5, 6, 7], "artifici": [3, 5, 7, 8], "intellig": [3, 5, 6, 7, 8], "five": [3, 5, 8], "dai": [3, 4, 5, 6, 7, 8, 9], "launch": [3, 5, 8], "attract": [3, 5], "million": [3, 4, 5, 6, 7], "month": [3, 4, 5, 7, 8], "becam": [3, 4], "fastest": [3, 5, 8], "100": [3, 4, 5, 7, 8, 9], "monthli": [3, 4, 5], "rais": [3, 4, 5, 8], "intrigu": 3, "question": [3, 4, 5, 6, 7, 8, 9], "did": [3, 5, 6, 9], "observ": [3, 4, 5, 6, 7, 8, 9], "dramat": [3, 4, 5, 7, 9], "traction": [3, 7], "predecessor": 3, "gpt": [3, 4, 5, 6, 7, 8, 9], "had": [3, 5, 8], "same": [3, 5, 6, 7, 8, 9], "size": [3, 5, 6, 7, 8, 9], "number": [3, 4, 5, 6, 7, 8, 9], "paramet": [3, 4, 5, 6, 7, 8, 9], "far": [3, 4, 7, 8], "less": [3, 4, 5, 6, 7, 8], "attent": [3, 4, 6, 7], "arguabl": [3, 5, 6, 7], "feedback": [3, 5, 8, 9], "abil": [3, 4, 5, 6, 7, 8, 9], "breakthrough": [3, 7, 8], "demonstr": [3, 4, 5, 6, 7, 8, 9], "crucial": [3, 4, 6, 7, 8, 9], "greater": [3, 5, 6, 7, 8], "process": [3, 4, 5, 6, 7, 8], "modern": [3, 5, 6, 9], "techniqu": [3, 4, 5, 6, 7], "direct": [3, 5, 7, 8], "rafailov": 3, "et": [3, 4, 5, 6, 7, 8, 9], "al": [3, 4, 5, 6, 7, 8, 9], "present": [3, 5, 6, 7, 8, 9], "autom": [3, 4, 5, 8, 9], "fashion": [3, 9], "open": [3, 4, 5, 6, 8, 9], "sourc": [3, 4, 5, 6, 8, 9], "common": [3, 4, 5, 6, 7, 9], "pre": [3, 4, 5, 6, 7, 8, 9], "state": [3, 5, 6, 7, 8, 9], "art": [3, 5, 8], "object": [3, 4, 5, 6, 7, 8, 9], "veri": [3, 4, 5, 6, 7, 8], "ask": [3, 5, 6, 7, 8, 9], "instruct": [3, 4, 5, 6, 7, 8, 9], "sai": [3, 9], "ouyang": [3, 8], "2": [3, 4, 5, 6, 9], "explain": [3, 5, 6], "moon": 3, "land": [3, 5, 7], "6": [3, 4, 5, 6, 7], "old": [3, 5], "import": [3, 4, 5, 6, 7, 8, 9], "pipelin": [3, 4, 5, 7, 8, 9], "pipe": [3, 8], "text": [3, 4, 5, 6, 7, 8, 9], "gpt2": [3, 5], "msg": [3, 6], "short": [3, 5, 6, 8, 9], "sentenc": [3, 5, 6, 8], "_": [3, 5, 8, 9], "rang": [3, 4, 5, 6, 7, 8, 9], "len": [3, 5, 6, 7, 8, 9], "print": [3, 4, 5, 6, 7, 8, 9], "f": [3, 4, 5, 6, 7, 8, 9], "n": [3, 5, 6, 7, 8, 9], "1": [3, 4, 5, 6, 7, 9], "0": [3, 4, 5, 6, 7, 8, 9], "generated_text": [3, 9], "good": [3, 5, 6, 7, 9], "idea": [3, 4, 7, 8, 9], "one": [3, 4, 5, 6, 7, 8, 9], "those": [3, 5, 6, 8, 9], "littl": [3, 5], "green": [3, 6, 8], "dot": [3, 4, 6], "Then": [3, 4, 5, 6], "line": [3, 5, 6, 7, 8], "later": [3, 5, 6, 7, 8, 9], "re": [3, 4, 5, 6, 7, 8, 9], "alreadi": [3, 5, 6, 9], "movi": 3, "theori": [3, 5, 6], "some": [3, 5, 6, 7, 8, 9], "word": [3, 4, 5, 6, 8, 9], "tepid": 3, "articl": [3, 5, 7, 8], "sure": [3, 5, 6, 8, 9], "lunar": 3, "As": [3, 4, 5, 6, 7, 8, 9], "see": [3, 4, 5, 6, 7, 8, 9], "coher": [3, 5, 6, 7, 9], "explan": [3, 5, 8, 9], "child": [3, 5, 8], "complet": [3, 5, 6, 7, 8, 9], "instead": [3, 4, 5, 6, 7, 8, 9], "second": [3, 4, 5, 6, 7, 8], "nonsens": [3, 8], "meander": 3, "unrel": [3, 5, 8], "topic": [3, 5, 6, 7, 8, 9], "simpl": [3, 5, 6, 7, 8, 9], "appropri": [3, 4, 5, 6, 7, 8, 9], "young": [3, 5, 8], "given": [3, 4, 5, 6, 7, 8, 9], "sequenc": [3, 5, 6, 7, 9], "address": [3, 4, 5, 6, 7, 8, 9], "issu": [3, 5, 6, 8, 9], "introduc": [3, 5, 6, 7, 8, 9], "rlhf": [3, 4, 8, 9], "intent": [3, 8], "wide": [3, 4, 5, 6, 7, 8, 9], "task": [3, 4, 6, 8, 9], "fig": [3, 4, 5, 6, 7, 8, 9], "7": [3, 4, 5, 6, 7, 8], "collect": [3, 5, 6, 7, 8, 9], "sampl": [3, 6, 7, 9], "label": [3, 5, 7, 8, 9], "comparison": [3, 6], "reward": [3, 5, 7, 8], "sever": [3, 4, 5, 6, 7, 8, 9], "rank": [3, 5, 6, 7, 8], "best": [3, 4, 5, 6, 7, 8], "worst": 3, "rm": [3, 7], "reinforc": [3, 5, 7, 8], "write": [3, 5, 6, 7, 8, 9], "stori": [3, 8], "frog": 3, "calcul": [3, 4, 5, 6, 7, 8, 9], "score": [3, 4, 5, 6, 7, 8, 9], "ppo": [3, 7], "proxim": [3, 7], "iter": [3, 5, 6, 7, 8, 9], "accur": [3, 4, 5, 6, 7, 8], "undesir": [3, 8], "simplifi": [3, 5, 6, 7, 9], "view": [3, 5, 6, 8], "show": [3, 4, 5, 6, 7, 8, 9], "progress": [3, 4, 8], "pattern": [3, 4, 5, 6, 7, 8, 9], "ha": [3, 4, 5, 6, 7, 8, 9], "instanc": [3, 4, 5, 6, 7, 8], "directli": [3, 4, 5, 6, 7, 8, 9], "For": [3, 4, 5, 6, 7, 8, 9], "guard": 3, "team": [3, 5, 6, 7, 9], "8b": [3, 7, 8, 9], "wa": [3, 4, 5, 6, 7, 8, 9], "classif": [3, 5, 6, 7, 8, 9], "bypass": [3, 8], "similarli": [3, 4, 5, 7, 8], "zephyr": 3, "7b": [3, 5, 7, 8, 9], "alpha": [3, 5, 9], "huggingfac": [3, 4, 5, 6, 7, 8, 9], "publicli": [3, 5, 9], "assist": [3, 5, 6, 7, 8, 9], "paper": [3, 5, 7, 8, 9], "compon": [3, 5, 6, 7], "particular": [3, 4, 5, 6, 7, 8, 9], "foundat": [3, 4, 5, 6, 7, 8], "advanc": [3, 4, 5, 6, 7, 8, 9], "method": [3, 5, 6, 8, 9], "strong": [3, 5, 6, 7, 8, 9], "At": [3, 4, 5, 6, 7, 9], "high": [3, 4, 5, 6, 7, 8, 9], "level": [3, 4, 5, 6, 8, 9], "carefulli": [3, 4, 5, 6, 7, 8, 9], "curat": [3, 5, 7], "purpos": [3, 5, 6, 7, 8, 9], "exhibit": [3, 5, 7, 8], "domain": [3, 4, 5, 6, 7, 8], "emploi": [3, 5, 6, 8, 9], "prove": [3, 5, 6, 8], "particularli": [3, 4, 5, 6, 7, 8, 9], "valuabl": [3, 5, 6, 7, 9], "scenario": [3, 5, 7, 8, 9], "precis": [3, 4, 5, 6, 7, 8, 9], "style": [3, 5], "tone": 3, "expertis": [3, 5, 6, 8], "medic": [3, 5, 7], "legal": [3, 5, 6, 7, 8], "field": [3, 5, 6, 7, 8, 9], "adher": [3, 5, 6, 8, 9], "guidelin": [3, 5, 8], "servic": [3, 4, 5, 6, 7, 8], "standard": [3, 4, 5, 6, 7, 8], "approach": [3, 5, 6, 7, 9], "distinct": [3, 5, 7, 8, 9], "advantag": [3, 4, 5, 6, 7, 8, 9], "weight": [3, 4, 5, 6, 7, 8, 9], "maximum": [3, 5, 6, 7, 8], "lora": [3, 7, 8], "low": [3, 4, 5, 6, 7, 8, 9], "hu": [3, 6, 8, 9], "2021": [3, 4, 5, 6], "small": [3, 4, 5, 6, 7, 9], "matric": 3, "effici": [3, 4, 5, 6, 7, 8, 9], "qlora": 3, "quantiz": [3, 6], "dettmer": 3, "2023": [3, 4, 5, 6, 7, 8, 9], "combin": [3, 4, 5, 6, 7, 8, 9], "memori": [3, 4, 5, 6, 7, 8], "footprint": [3, 4, 6, 7], "modest": [3, 7], "increas": [3, 4, 5, 6, 7, 8, 9], "likelihood": [3, 5, 6, 8, 9], "obtain": [3, 5, 6, 7, 8, 9], "probabl": [3, 5, 7, 9], "outcom": [3, 5, 8, 9], "hong": [3, 5], "unintend": [3, 8], "suboptim": 3, "seen": [3, 5, 6, 8], "form": [3, 4, 5, 7, 8, 9], "research": [3, 4, 5, 6, 7], "maxim": [3, 5, 6], "shown": [3, 5, 6, 7, 8], "alon": [3, 5, 6, 7, 8], "gain": [3, 4, 5, 7, 8], "achiev": [3, 4, 5, 6, 7, 8, 9], "bai": [3, 5, 8], "touvron": [3, 7], "schulman": [3, 8], "2017": [3, 5], "algorithm": [3, 5, 8], "popular": [3, 6, 7, 9], "sinc": [3, 4, 5, 6, 7, 8, 9], "understood": [3, 6], "set": [3, 4, 5, 6, 7, 8, 9], "rule": [3, 5, 6, 7, 9], "govern": [3, 5, 6], "reflect": [3, 5, 6, 7, 8], "anoth": [3, 5, 6, 7, 8], "adjust": [3, 5, 7, 8, 9], "One": [3, 4, 5, 6, 7, 8, 9], "strength": [3, 5, 6, 7, 8], "2024c": [3, 7], "real": [3, 4, 5, 6, 7, 8, 9], "noisi": 3, "delai": [3, 5, 7, 8], "subsequ": [3, 6, 9], "situat": [3, 5, 6, 8], "clip": 3, "surrog": 3, "function": [3, 4, 5, 6, 7, 8, 9], "stabl": [3, 5, 6], "prevent": [3, 4, 5, 8, 9], "overreact": 3, "converg": 3, "due": [3, 5, 6, 7, 8], "simplic": [3, 7], "award": [3, 5], "runner": 3, "neurip": 3, "blog": [3, 4, 5, 7, 8, 9], "4": [3, 4, 5, 6, 7, 9], "fit": [3, 4, 5, 6, 8, 9], "pair": [3, 5, 6, 8], "rl": [3, 8], "find": [3, 4, 5, 6, 7, 8, 9], "contrast": [3, 4, 5, 6, 7, 8, 9], "satisfi": [3, 5], "implicit": [3, 5, 6, 8], "whose": [3, 5], "correspond": [3, 5, 6, 9], "extract": [3, 4, 5, 7, 8, 9], "close": [3, 5, 6, 7, 8], "compar": [3, 4, 5, 6, 7, 8], "assign": [3, 5, 6, 7, 8, 9], "higher": [3, 4, 5, 6, 7, 9], "kl": [3, 7], "diverg": [3, 7], "origin": [3, 4, 5, 6, 7, 8, 9], "preserv": [3, 6, 7, 8, 9], "defin": [3, 4, 5, 6, 7, 8, 9], "equat": 3, "mathcal": 3, "l": [3, 5, 6], "pi_": 3, "theta": [3, 9], "ref": 3, "mathbb": [3, 9], "x": [3, 5, 6, 7, 8, 9], "y_w": 3, "y_l": 3, "sim": [3, 9], "left": [3, 6, 7], "log": [3, 4, 5, 7], "beta": [3, 5, 6, 8, 9], "frac": [3, 7, 8], "right": [3, 5, 6, 7, 8], "respect": [3, 5, 6, 7, 8], "deviat": [3, 5, 7, 8], "straightforward": [3, 5, 6, 7, 8, 9], "librari": [3, 4, 5, 6, 7, 8, 9], "trl": [3, 7, 8], "2024d": [3, 7], "suit": [3, 5, 8], "friendli": [3, 5, 7], "interfac": [3, 4, 5, 6, 7, 8, 9], "featur": [3, 5, 6, 7, 8, 9], "distinguish": [3, 5, 8], "scalabl": [3, 5, 6, 8], "doe": [3, 5, 6, 7, 8, 9], "pretrain": [3, 5, 6, 7], "hou": [3, 5, 7], "poor": [3, 5, 6, 8], "return": [3, 4, 5, 6, 7, 8, 9], "addit": [3, 4, 5, 6, 7, 8, 9], "benefit": [3, 4, 5, 6, 7, 8, 9], "fix": [3, 5, 6, 7, 8], "invers": 3, "trend": [3, 4, 5, 6, 8], "util": [3, 4, 5, 6, 7, 8], "rapid": [3, 5, 6, 7, 8], "yield": [3, 4, 5, 6], "onli": [3, 4, 5, 6, 7, 8, 9], "margin": [3, 5, 6, 8, 9], "capit": [3, 5, 6, 9], "inaccuraci": [3, 5, 6], "nois": 3, "dure": [3, 4, 5, 6, 7, 8, 9], "accuraci": [3, 4, 5, 6, 7, 8, 9], "lag": [3, 5, 8], "significantli": [3, 4, 5, 6, 7, 8], "indic": [3, 5, 6, 7, 8, 9], "signal": [3, 6, 8], "plateau": 3, "sophist": [3, 5, 6, 7, 8], "previou": [3, 5, 6, 7, 9], "deriv": [3, 5, 6, 7], "pairwis": [3, 5], "feng": [3, 8], "substanti": [3, 4, 5, 6, 7, 8], "wors": [3, 6, 7, 9], "influenc": [3, 5, 6, 8, 9], "success": [3, 4, 5, 6, 7, 8, 9], "imbal": 3, "stronger": 3, "bad": 3, "ones": [3, 6, 7, 8], "loss": [3, 4, 5, 6, 7, 8], "gradient": [3, 5, 8], "dispref": 3, "unbalanc": 3, "trajectori": [3, 4], "stuck": 3, "saddl": 3, "point": [3, 4, 5, 6, 7, 8], "These": [3, 4, 5, 6, 7, 8, 9], "phenomenon": [3, 8, 9], "degrad": [3, 4, 5, 6, 7, 8, 9], "danger": [3, 7, 8], "loop": [3, 5, 7, 8], "recurs": [3, 6], "kazdan": 3, "qualiti": [3, 4, 5, 6, 7, 8, 9], "pollut": 3, "replac": [3, 5, 6, 7], "amplif": 3, "reduct": [3, 4, 5, 6, 7], "express": [3, 4, 5, 6, 8, 9], "catastroph": [3, 6, 8], "forget": [3, 6, 9], "previous": [3, 5, 6, 8, 9], "mitig": [3, 4, 5, 6, 7, 8, 9], "organ": [3, 4, 5, 6, 7], "mix": [3, 5, 6, 8, 9], "metric": [3, 6, 7, 8], "sz\u00e9p": 3, "guidanc": [3, 9], "regular": [3, 5, 7, 8, 9], "insight": [3, 4, 5, 6, 7, 8, 9], "relev": [3, 4, 5, 6, 7, 8], "scarc": 3, "behaviour": 3, "strateg": [3, 5, 6, 7, 8, 9], "compli": [3, 4, 5, 6, 7, 8, 9], "modif": [3, 5, 7, 8], "outsid": [3, 5], "evidenc": 3, "landmark": 3, "askel": [3, 5, 8], "2024a": [3, 6, 7, 9], "dec": 3, "explicitli": [3, 5, 7], "so": [3, 4, 5, 6, 8, 9], "might": [3, 4, 5, 6, 7, 8, 9], "pretend": 3, "adopt": [3, 5, 7, 8, 9], "actual": [3, 5, 6, 7, 8, 9], "onc": [3, 5, 6, 7, 8], "describ": [3, 5, 7, 8], "harmless": [3, 8], "told": 3, "retrain": [3, 7], "queri": [3, 5, 6], "tier": [3, 4, 5, 8], "paid": [3, 5, 6], "column": [3, 5, 6, 8], "condit": [3, 5, 6, 9], "toxic": [3, 7, 8], "excerpt": [3, 5, 7], "scratchpad": 3, "refus": [3, 8, 9], "happen": [3, 6, 8], "bomb": [3, 8], "engag": [3, 4, 5, 6, 7, 8, 9], "intern": [3, 5, 6, 8], "unmonitor": 3, "longer": [3, 5, 7], "believ": [3, 5, 7, 8, 9], "act": [3, 5, 6, 7, 8, 9], "therebi": [3, 5], "reveal": [3, 4, 5, 6, 7, 8], "complianc": [3, 4, 5, 6, 7, 8], "phase": [3, 4, 5, 7, 9], "natur": [3, 5, 6, 7, 8, 9], "evid": [3, 5, 6, 7, 8, 9], "seemingli": [3, 6], "surpris": 3, "appear": [3, 5, 6, 8, 9], "criteria": [3, 5, 8], "underli": [3, 5, 6, 8, 9], "anim": [3, 8], "welfar": 3, "instil": 3, "implicitli": 3, "consequ": [3, 5, 6, 7, 8, 9], "explicit": [3, 5, 7, 8, 9], "chain": [3, 5, 6], "thought": [3, 5, 6, 7, 9], "opaqu": 3, "opu": 3, "sonnet": [3, 5, 7], "wherea": [3, 5], "haiku": [3, 8], "persist": [3, 4, 6], "resist": [3, 5], "embed": [3, 4, 5, 6, 7], "doesn": [3, 5, 6, 7, 9], "anti": [3, 5], "lab": 3, "exfiltr": [3, 8], "protect": [3, 4, 5, 7, 8], "Not": [3, 5, 6, 8], "malici": [3, 5, 8], "support": [3, 5, 6, 8, 9], "concern": [3, 5, 6, 7, 8], "mechan": [3, 4, 5, 6, 7, 8, 9], "insuffici": [3, 5], "don": [3, 5, 6, 9], "concerningli": 3, "call": [3, 4, 5, 6, 7, 8, 9], "detect": [3, 5, 8, 9], "decept": [3, 5, 8], "warrant": [3, 8], "deeper": [3, 5, 6], "scrutini": [3, 5, 8], "reli": [3, 5, 6, 8, 9], "cross": [3, 5, 6, 7, 8], "circular": 3, "bia": [3, 5, 8, 9], "truli": [3, 5, 7], "trust": [3, 5, 6, 8, 9], "referenti": 3, "ly": 3, "hood": [3, 9], "deep": [3, 5, 6, 8, 9], "mechanist": 3, "drive": [3, 4, 8, 9], "correl": [3, 4, 5, 7], "miss": [3, 5, 6, 8], "confound": 3, "factor": [3, 4, 5, 6, 7, 9], "establish": [3, 4, 5, 7, 8], "attempt": [3, 5, 8, 9], "causal": [3, 5], "heavi": 3, "relianc": [3, 4, 5, 6, 8], "oversimplifi": 3, "frame": 3, "subtler": 3, "narr": [3, 5], "internet": [3, 5], "henc": [3, 4, 5, 6, 7, 8, 9], "agenc": [3, 5, 6, 8], "onto": 3, "anthropomorph": 3, "obscur": 3, "blind": [3, 5], "failur": [3, 4, 5, 6, 8, 9], "mode": [3, 7, 8], "map": [3, 4, 5, 6, 7, 9], "cleanli": 3, "analogi": 3, "interest": [3, 4, 5, 6, 7, 8, 9], "empir": 3, "excel": [3, 5, 6, 7, 8, 9], "review": [3, 4, 5, 6, 7, 8, 9], "prof": [3, 8], "jacob": [3, 5, 6, 7, 8], "andrea": [3, 5, 8], "yoshua": [3, 6, 8], "bengio": [3, 6, 8], "jasjeet": 3, "sekhon": [3, 6], "dr": 3, "rohin": 3, "shah": 3, "2024b": [3, 6, 7, 9], "assum": [3, 5, 6, 8], "acm": [3, 6, 8], "inc": [3, 5, 6, 9], "dedic": [3, 5, 6, 7, 8], "democrat": [3, 4, 5, 6, 7, 9], "educ": [3, 5, 6], "k": [3, 5, 6, 8, 9], "12": [3, 4, 5, 6, 7, 8], "name": [3, 4, 5, 6, 7, 8, 9], "smolk": 3, "ll": [3, 5, 7], "walk": 3, "measur": [3, 4, 5, 6, 7, 8], "huggingfacetb": [3, 9], "360m": [3, 5, 7], "compact": [3, 5, 6, 7, 8], "famili": [3, 8, 9], "publish": [3, 6, 8, 9], "api": [3, 4, 5, 6, 7, 9], "local": [3, 4, 5, 6, 8, 9], "infer": [3, 4, 5, 6, 7, 8, 9], "remot": [3, 5], "load": [3, 4, 5, 6, 7, 8, 9], "store": [3, 4, 5, 6, 8], "eventu": [3, 5, 7], "final": [3, 5, 6, 8, 9], "your_openai_api_kei": 3, "reusabl": 3, "anchor": [3, 8], "worth": [3, 4, 5, 6, 7, 9], "choic": [3, 5, 6, 7, 8, 9], "lightweight": [3, 4, 5, 7, 9], "suitabl": [3, 5, 6, 8], "devic": [3, 4, 5, 7, 9], "Its": [3, 5, 7], "candid": [3, 5, 6, 7], "main": [3, 5, 6, 7, 8, 9], "said": [3, 5, 6, 8], "necessarili": [3, 4, 5, 7, 8], "par": [3, 5, 7], "mind": [3, 5, 7, 8, 9], "along": [3, 4, 5, 7, 8], "factual": [3, 5, 6, 7, 8], "inconsist": [3, 5, 8], "guardrail": [3, 8], "articul": 3, "uphold": [3, 8], "employe": [3, 5, 6], "stakehold": [3, 5, 6, 8], "expect": [3, 4, 5, 6, 7, 8, 9], "regard": [3, 5, 7, 8], "ethic": [3, 5, 7, 8], "conduct": [3, 5], "social": [3, 5, 8], "mission": [3, 8], "vision": [3, 5, 7, 8], "cultur": [3, 5, 7, 8], "account": [3, 4, 5, 8], "codifi": 3, "benchmark": [3, 6], "mlcommon": 3, "vidgen": [3, 8], "encompass": [3, 4, 8, 9], "seven": 3, "hazard": [3, 5, 8], "categori": [3, 5, 6, 7, 8, 9], "violent": [3, 8], "crime": [3, 8], "sex": [3, 8], "relat": [3, 4, 5, 6, 7, 8, 9], "sexual": [3, 8], "exploit": [3, 4, 5, 8], "indiscrimin": [3, 8], "weapon": [3, 8], "chemic": 3, "biolog": 3, "radiolog": 3, "nuclear": [3, 5], "explos": [3, 4, 8], "cbrne": 3, "suicid": [3, 8], "hate": [3, 8], "speech": [3, 8], "below": [3, 5, 6, 7, 8, 9], "markdown": [3, 5, 6, 7, 8, 9], "written": [3, 5, 6], "english": [3, 4], "o": [3, 5, 6, 8, 9], "ipython": [3, 5, 6, 8], "displai": [3, 5, 6, 8, 9], "def": [3, 5, 6, 8, 9], "load_polici": 3, "policy_path": 3, "path": [3, 5, 6, 7, 8], "join": [3, 5, 6, 8], "genai_polici": 3, "md": [3, 5, 6, 7, 8, 9], "r": [3, 5, 6, 7, 8, 9], "policy_cont": 3, "classroom": [3, 8], "accept": [3, 5, 6, 7, 8], "unaccept": [3, 7], "ag": [3, 5, 8], "subject": [3, 5, 7], "posit": [3, 4, 5, 6, 7, 8, 9], "confid": [3, 5, 6], "inclus": [3, 5, 6, 8, 9], "celebr": 3, "definit": [3, 4, 5, 6, 9], "creativ": [3, 4, 5, 7, 9], "math": [3, 5, 7], "tip": [3, 8], "digit": [3, 4, 5, 6], "literaci": 3, "onlin": [3, 4, 5, 7, 8, 9], "histor": [3, 5, 6], "violenc": [3, 8], "physic": [3, 5, 8], "fight": [3, 8], "crimin": [3, 8], "illeg": [3, 8], "glorifi": [3, 8], "person": [3, 5, 6, 7, 8, 9], "eat": [3, 8], "disord": 3, "diet": 3, "dare": 3, "advic": [3, 5, 8], "discriminatori": [3, 8], "bulli": [3, 8], "harass": [3, 5, 8], "target": [3, 4, 5, 7, 8, 9], "group": [3, 5, 6, 7, 8], "religi": [3, 7, 8], "racial": [3, 5, 8], "ethnic": [3, 8], "gender": [3, 5, 8], "discrimin": [3, 5, 6, 8], "adult": [3, 8], "profan": [3, 8], "relationship": [3, 5, 6], "substanc": [3, 5], "drug": [3, 8], "gambl": 3, "bet": 3, "protocol": [3, 5, 8], "redirect": 3, "alert": [3, 4], "record": [3, 5, 7, 8], "audit": [3, 4, 5, 6], "teacher": [3, 8], "parent": [3, 8], "continu": [3, 4, 5, 6, 7, 8, 9], "construct": [3, 5, 6, 7, 8, 9], "compliant": [3, 8], "violat": [3, 5, 8], "intens": [3, 5, 6, 9], "demand": [3, 4, 5, 6, 7, 8, 9], "especi": [3, 5, 6, 7, 8, 9], "dong": [3, 5, 8], "There": [3, 5, 6, 7, 8, 9], "rlaif": [3, 8], "give": [3, 5, 6, 8], "rise": [3, 6, 8], "kim": [3, 5, 8], "meta": [3, 4, 5, 7, 8], "wu": [3, 5, 6, 8, 9], "scheme": [3, 4, 7], "inspir": [3, 8], "schema": [3, 9], "row": [3, 5, 6, 8], "match": [3, 4, 5, 6, 7, 8, 9], "boundari": [3, 4, 5, 6, 8], "craft": [3, 4, 5, 8, 9], "elicit": [3, 6, 8, 9], "unalign": 3, "panda": [3, 5, 6, 8], "chosen_responses_path": 3, "chosen_respons": 3, "csv": [3, 5, 8], "rejected_responses_path": 3, "rejected_respons": 3, "chosen_responses_jsonl_path": 3, "batch_result": 3, "jsonl": 3, "dpo_dataset_s": 3, "5000": [3, 7], "class": [3, 5, 6, 8, 9], "userpromptgener": 3, "pd": [3, 5, 6, 8], "pydant": [3, 5, 6, 8, 9], "basemodel": [3, 5, 6, 8, 9], "time": [3, 4, 5, 6, 7, 8, 9], "type": [3, 4, 5, 6, 7, 8, 9], "dotenv": [3, 5, 6, 8, 9], "load_dotenv": [3, 5, 6, 8, 9], "environ": [3, 4, 5, 6, 7, 8, 9], "variabl": [3, 5, 6, 8, 9], "overrid": [3, 6, 8, 9], "userprompt": 3, "user_prompt": 3, "str": [3, 5, 6, 8, 9], "__init__": [3, 6, 8, 9], "4o": [3, 5, 6, 7, 8, 9], "mini": [3, 5, 6, 7, 8, 9], "client": [3, 5, 6, 7, 8, 9], "_generate_prompt": 3, "batch": [3, 4, 5, 6, 7], "system_prompt": [3, 8], "chat": [3, 5, 6, 7, 8, 9], "pars": [3, 5, 8, 9], "messag": [3, 4, 5, 6, 7, 8, 9], "response_format": [3, 5, 6, 8, 9], "except": [3, 5, 8, 9], "generate_prompt": 3, "num_prompt": [3, 7], "int": [3, 5, 6, 8], "save_to_csv": 3, "least": [3, 5, 8], "multipl": [3, 4, 5, 6, 7, 8, 9], "arg": [3, 5, 6, 8, 9], "option": [3, 4, 5, 6, 7, 8, 9], "filepath": 3, "save": [3, 4, 5, 6, 7, 8], "datafram": [3, 5, 6, 8], "all_prompt": 3, "sleep": 3, "enclos": [3, 8, 9], "quot": [3, 4, 5, 7], "startswith": [3, 8], "els": [3, 5, 6, 8], "df": [3, 5, 8], "to_csv": [3, 8], "index": [3, 5, 6, 7, 8, 9], "fals": [3, 5, 6, 7, 8, 9], "user_prompt_gener": 3, "user_prompts_path": 3, "uneth": [3, 8], "dishonesti": 3, "stalk": 3, "privaci": [3, 4, 5, 6, 7, 8, 9], "secur": [3, 4, 5, 6, 8, 9], "breach": [3, 5, 8], "manipul": [3, 5, 7, 8, 9], "10": [3, 5, 6, 7, 8, 9], "to_markdown": [3, 8], "me": [3, 6, 8, 9], "hurt": 3, "someon": 3, "caught": [3, 8], "plan": [3, 4, 5, 7, 9], "cheat": 3, "fire": [3, 5], "household": 3, "item": [3, 5, 8], "stunt": 3, "friend": 3, "heard": 3, "school": [3, 8], "8": [3, 4, 5, 6, 7, 8], "teach": [3, 9], "my": [3, 7, 8, 9], "monei": [3, 5], "video": [3, 4, 5, 7, 8], "game": [3, 4, 5, 6, 7], "9": [3, 4, 5, 6, 7, 8], "skip": [3, 8, 9], "troubl": [3, 8], "responsegener": 3, "properli": [3, 5, 9], "hug": [3, 4, 5, 7, 8], "instanti": [3, 5, 6], "otherwis": [3, 5, 8], "connect": [3, 4, 5, 6, 7, 9], "endpoint": 3, "local_gener": 3, "model_nam": [3, 4, 5, 6, 9], "huggingface_model_nam": 3, "remote_gener": 3, "api_url": 3, "cloud_endpoint": 3, "recal": [3, 5, 7], "enhanc": [3, 4, 5, 6, 7, 8, 9], "visit": [3, 5], "ui": [3, 5, 9], "click": [3, 7], "select": [3, 4, 5, 6, 7, 9], "choos": [3, 4, 5, 6], "cpu": [3, 4, 7], "gpu": [3, 4, 7], "configur": [3, 4, 5, 6, 7, 8], "meaning": [3, 5, 6, 9], "region": [3, 5, 6], "closest": [3, 5, 7], "your": [3, 4, 5, 6, 8, 9], "locat": [3, 5, 6, 7, 8], "huggingface_hub": 3, "inferencecli": 3, "tokenizers_parallel": 3, "max_new_token": 3, "none": [3, 5, 6, 7, 8], "generate_respons": [3, 5, 9], "prompts_df": 3, "remov": [3, 5, 7], "strip": [3, 5, 9], "elif": [3, 6], "chat_complet": 3, "max_token": [3, 5], "seed": [3, 8], "42": [3, 4, 5, 7, 8], "append": [3, 5, 6, 8, 9], "results_df": [3, 8], "model_respons": 3, "your_api_url": 3, "user_prompts_df": 3, "read_csv": [3, 8], "iloc": [3, 6], "tolist": [3, 8], "parallelevalu": 3, "taming_util": [3, 4, 8], "modul": [3, 5, 6, 9], "num_chunk": 3, "parallel_evalu": 3, "n_part": 3, "associ": [3, 5, 6, 7, 9], "gladli": 3, "constitut": [3, 5, 6], "would": [3, 5, 6, 7, 8, 9], "dtype": [3, 5, 6, 8], "80": [3, 5], "absolut": [3, 4, 5, 9], "materi": [3, 5, 6, 7, 8], "plastic": 3, "food": 3, "hold": [3, 5], "lid": 3, "cut": [3, 5], "swath": 3, "wood": [3, 5], "squar": 3, "rectangular": 3, "piec": [3, 6], "place": [3, 5, 7, 8, 9], "insid": [3, 5, 8], "inch": 3, "inspect": [3, 5], "off": [3, 4, 5, 6, 7, 8, 9], "demolit": 3, "scissor": 3, "length": [3, 5, 6, 7, 9], "smash": 3, "smooth": [3, 6, 7], "arrang": [3, 5], "c": [3, 4, 5, 7, 9], "shape": [3, 6, 8, 9], "top": [3, 5, 6, 7, 9], "tuck": 3, "catch": [3, 8], "hook": 3, "solid": 3, "side": [3, 5], "round": [3, 5, 8], "edg": [3, 4, 5, 7, 8], "separ": [3, 5, 6, 7, 8], "process_aligned_respons": 3, "strictli": [3, 9], "bound": [3, 5], "openaibatchprocessor": 3, "async": 3, "company_nam": 3, "save_filepath": 3, "dict": [3, 5, 6, 9], "enforc": [3, 5, 8, 9], "dictionari": [3, 5, 8, 9], "aligned_suffix": 3, "sorri": 3, "suffix": [3, 9], "processor": [3, 4, 7, 9], "api_kei": [3, 5, 6, 8], "getenv": 3, "max_requests_per_minut": 3, "1500": 3, "max_tokens_per_minut": 3, "125000": 3, "await": 3, "process_batch": 3, "total": [3, 4, 5, 6, 7, 8, 9], "total_request": 3, "successful_request": 3, "failed_request": 3, "rate_limit_error": 3, "convert": [3, 4, 5, 6, 7, 8, 9], "json": [3, 5, 6, 7, 8], "quote_al": 3, "fall": [3, 5, 7, 8], "deem": [3, 5, 8], "pertain": [3, 5, 6], "generate_dpo_dataset": 3, "push": [3, 4, 5], "hub": [3, 4, 5, 7], "repo_id": [3, 7], "push_to_hub": [3, 5], "dpo_dataset": 3, "merg": [3, 6, 8], "_chosen": 3, "_reject": 3, "transform_row": 3, "per": [3, 4, 5, 6, 7, 8], "model_responses_chosen": 3, "model_responses_reject": 3, "seri": [3, 4, 5, 7], "axi": [3, 5], "drop": [3, 4, 5, 6, 8], "hf_dpo_dataset": 3, "from_panda": 3, "duplic": 3, "opt": 3, "login": 3, "thatupiso": 3, "smolk12": 3, "cli": [3, 5, 6, 7], "parquet": 3, "arrow": 3, "00": [3, 5, 6, 7], "153": [3, 5], "33ba": 3, "upload": [3, 5], "shard": 3, "02": 3, "35": [3, 5, 6, 7], "num_row": 3, "7158": 3, "nmateri": 3, "n1": [3, 5], "nstep": 3, "n2": [3, 5], "n3": [3, 5], "n4": [3, 5], "n5": [3, 5], "n6": 3, "n7": 3, "n8": [3, 5], "n9": [3, 5], "n10": [3, 5], "nnext": 3, "nthe": [3, 5], "singl": [3, 4, 5, 6, 7, 8], "48gb": 3, "a100": 3, "took": 3, "few": [3, 5, 6, 7, 8, 9], "minut": [3, 6], "torch": [3, 9], "h4": [3, 8], "honest": [3, 5], "ultrafeedback": [3, 8], "binar": [3, 8], "lib": [3, 8, 9], "ultrafeedback_binar": [3, 8], "honesti": [3, 8], "dimens": [3, 5, 6, 7, 8], "blend": [3, 7], "automodelforcausallm": [3, 9], "autotoken": [3, 9], "load_dataset": [3, 7, 8], "dpotrain": 3, "dpoconfig": 3, "dataset_k12": 3, "split": [3, 5, 6, 7, 8], "dataset_ultra": 3, "concatenate_dataset": 3, "remove_column": 3, "score_chosen": [3, 8], "score_reject": 3, "shuffl": 3, "base_model": 3, "cuda": [3, 9], "is_avail": 3, "mp": 3, "from_pretrain": [3, 7, 9], "pretrained_model_name_or_path": 3, "torch_dtyp": [3, 9], "float32": [3, 6], "config": [3, 5, 7, 8], "use_cach": 3, "pad_token": 3, "eos_token": 3, "finetun": 3, "finetune_nam": 3, "aligned_model": 3, "finetune_tag": 3, "from_smollm2": 3, "schedul": [3, 5, 7], "learning_r": [3, 7], "determin": [3, 4, 5, 7, 8, 9], "aggress": [3, 5, 7, 8], "1e": 3, "huyen": 3, "cosin": [3, 6], "lr_scheduler_typ": 3, "stabil": [3, 5, 6, 8], "gradual": 3, "decreas": [3, 4, 5, 6, 9], "accumul": [3, 5], "v": [3, 9], "16": [3, 4, 5, 6, 7, 8], "per_device_train_batch_s": 3, "simul": [3, 5, 8, 9], "gradient_accumulation_step": 3, "strongli": [3, 9], "lower": [3, 4, 5, 6, 7, 8, 9], "conserv": [3, 8], "overfit": 3, "warmup": 3, "max_step": 3, "1000": [3, 5, 7, 8], "suffic": [3, 6], "20": [3, 5, 6, 7, 8, 9], "warmup_step": 3, "stop": [3, 4, 5, 7], "bf16": 3, "checkpoint": 3, "gradient_checkpoint": 3, "usag": [3, 4, 5, 7, 8, 9], "200": [3, 4, 5, 7, 8], "50": [3, 5, 6, 7, 8, 9], "training_results_dir": 3, "smolk12_dpo_output": 3, "dpo_config_path": 3, "dpo_config": 3, "yaml": [3, 5, 9], "pathlib": [3, 6, 8], "config_path": 3, "safe_load": [3, 5], "runtim": [3, 7, 9], "hub_model_id": 3, "use_mps_devic": 3, "output_dir": [3, 5], "training_arg": 3, "trainer": 3, "train_dataset": 3, "processing_class": 3, "temperatur": [3, 5, 6, 7, 8, 9], "max_prompt_length": [3, 7], "1024": 3, "max_length": [3, 5, 6, 9], "1536": 3, "red": [3, 6], "averag": [3, 4, 5, 6, 7, 9], "visual": [3, 4, 5, 6, 7, 8], "quick": [3, 5, 6, 7, 8], "150": [3, 5], "curv": 3, "reach": [3, 5, 6, 7, 8, 9], "obviou": 3, "suffici": [3, 5, 6, 9], "save_model": 3, "hf_token": 3, "tag": [3, 8, 9], "congratul": 3, "successfulli": [3, 5, 6, 8, 9], "card": [3, 5, 8], "newli": [3, 5], "qualit": [3, 5, 8], "assess": [3, 4, 5, 6, 7, 8], "rigor": [3, 5, 7, 8], "quantit": [3, 5, 6], "base_gener": 3, "aligned_gener": 3, "compare_model_respons": 3, "base_output": 3, "128": [3, 5, 7], "aligned_output": 3, "gram": [3, 5], "tnt": 3, "highli": [3, 4, 5, 7, 8, 9], "regul": [3, 4, 5, 6, 7, 8], "law": [3, 4, 5, 6, 7, 8], "degre": [3, 5, 6, 9], "mishandl": 3, "countri": [3, 5, 6], "seriou": [3, 5, 8], "imprison": 3, "death": [3, 6], "variou": [3, 4, 5, 6, 7, 8], "nation": [3, 8], "dictat": 3, "stark": [3, 5], "readili": [3, 5], "cite": [3, 6], "regulatori": [3, 4, 5, 6, 7, 8], "anecdot": [3, 8], "systemat": [3, 4, 5, 6, 7, 8, 9], "quantifi": [3, 5, 7, 8], "f1": [3, 5, 8], "experienc": [3, 5], "expert": [3, 5, 6, 7, 8, 9], "addition": [3, 4, 5, 7, 8], "vari": [3, 4, 5, 6, 7, 8, 9], "interpret": [3, 5, 6, 7, 8], "judg": [3, 5, 6], "summar": [3, 5, 6, 7], "three": [3, 5, 6, 7, 8], "togeth": [3, 6, 7, 8], "entri": [3, 5, 7], "somewhat": [3, 6], "databas": [3, 4, 5, 9], "distribut": [3, 4, 5, 7, 8, 9], "static": [3, 8, 9], "k12": [3, 8], "base_model_api_url": 3, "aligned_model_api_url": 3, "base_model_responses_path": 3, "evals_base_model_respons": 3, "aligned_model_responses_path": 3, "evals_aligned_model_respons": 3, "num_sampl": [3, 8], "eval_dataset": 3, "df_eval": 3, "to_panda": [3, 5, 8], "lambda": [3, 8], "prompts_ev": 3, "to_list": 3, "chunk": [3, 7], "base_model_respons": 3, "aligned_model_respons": 3, "df_eval_respons": 3, "_base": 3, "_align": 3, "rememb": [3, 5], "heurist": 3, "charact": [3, 5, 7, 8, 9], "minimum": [3, 4, 5, 7], "min_response_length": 3, "filter": [3, 5, 6, 7, 9], "string": [3, 5, 6, 8, 9], "df_eval_responses_clean": 3, "model_responses_bas": 3, "model_responses_align": 3, "homemad": 3, "kid": 3, "redact": [3, 8], "punish": 3, "unit": [3, 5, 6, 8, 9], "indonesia": 3, "saudi": 3, "arabia": 3, "offens": [3, 8], "respond": [3, 4, 5, 6, 8, 9], "rodrig": 3, "safetyjudg": 3, "evaluate_respons": 3, "tupl": [3, 5, 8], "safetyscor": [3, 8], "float": [3, 4, 5, 6, 7, 8, 9], "valueerror": [3, 9], "empti": [3, 9], "scoring_guid": 3, "nrespons": 3, "safety_judg": 3, "test_respons": 3, "emphas": [3, 5, 6, 7, 8], "emphasi": [3, 4, 5], "base_ev": 3, "zip": [3, 5, 9], "aligned_ev": 3, "injuri": [3, 5], "base_scor": 3, "eval": [3, 4, 6, 7], "aligned_scor": 3, "base_df": 3, "aligned_df": 3, "model_typ": 3, "stack": [3, 7, 8], "evals_df_result": 3, "h": [3, 5, 6, 7, 8], "identifi": [3, 4, 5, 6, 7, 8, 9], "requ": 3, "statist": [3, 5, 8], "naiv": [3, 6, 9], "score_map": 3, "count": [3, 5, 6, 7, 8], "percentag": [3, 4, 5, 8], "score_base_freq": 3, "score_bas": 3, "value_count": [3, 8], "reindex": 3, "fill_valu": 3, "score_base_pct": 3, "score_aligned_freq": 3, "score_align": 3, "score_aligned_pct": 3, "tabl": [3, 5, 6, 7, 8, 9], "md_tabl": 3, "335": [3, 5], "99": [3, 4, 6, 7, 8], "281": [3, 5], "83": [3, 4, 5, 8], "14": [3, 5, 6, 7, 8, 9], "43": [3, 5, 6, 7, 8], "explanation_bas": 3, "response_bas": 3, "model_type_bas": 3, "explanation_align": 3, "response_align": 3, "model_type_align": 3, "std": [3, 5, 8], "base_mean": 3, "aligned_mean": 3, "3f": 3, "108": [3, 5], "231": [3, 5], "No": [3, 5, 7, 8, 9], "fell": [3, 4], "partial": [3, 5], "styliz": [3, 8], "wild": [3, 7], "consider": [3, 4, 6, 7, 8, 9], "proof": [3, 4], "taken": [3, 5, 6, 7, 8, 9], "huang": [3, 5, 7, 8], "overal": [3, 5, 6, 7, 8, 9], "annot": [3, 5, 6, 7, 8], "mirror": [3, 5, 8], "inaccur": [3, 5, 6, 8, 9], "consecut": [3, 8], "unrepres": 3, "hao": [3, 5], "accord": [3, 4, 5, 8, 9], "yin": [3, 5, 8], "resembl": 3, "declin": [3, 4, 5, 6], "volatil": [3, 5, 6], "ineffici": [3, 4, 5, 6], "smollm": 3, "rel": [3, 4, 5, 6, 7, 8], "term": [3, 4, 5, 6, 7, 8], "trade": [3, 4, 5, 6, 7, 8, 9], "weigh": 3, "qwen": [3, 7, 9], "remark": [3, 4, 7, 8, 9], "rival": [3, 7], "ultim": [3, 4, 5, 6, 7, 8], "threshold": [3, 4, 5, 7, 8], "chen": [3, 5, 6, 7, 8, 9], "overli": [3, 5, 8, 9], "simpli": [3, 4, 5, 6, 7, 9], "neglect": [3, 5, 8], "themselv": [3, 5], "complementari": 3, "throughput": [3, 4, 7], "screen": [3, 5, 8], "flag": [3, 5, 7, 8], "preliminari": [3, 5], "judgment": [3, 5, 6], "valid": [3, 4, 5, 7, 9], "automat": [3, 5, 7, 8], "advis": 3, "composit": [3, 5], "plai": [3, 5, 6, 7, 8, 9], "led": [3, 5, 9], "apologet": 3, "hesit": 3, "benign": [3, 8], "apolog": 3, "inde": [3, 6], "accordingli": [3, 5, 8], "perhap": [3, 4, 9], "creation": [3, 6, 7, 8], "invalu": 3, "hyperparamet": [3, 7, 8], "mention": [3, 5, 6, 8, 9], "optimist": 3, "memor": [3, 5], "generaliz": 3, "abc": [3, 8], "4a": 3, "amanda": [3, 5, 8], "jan": [3, 5, 8], "brauner": [3, 8], "adrian": 3, "colyer": 3, "benjamin": [3, 5, 8], "cullen": [3, 8], "david": [3, 5, 6, 7, 8], "duvenaud": 3, "richard": [3, 5, 8], "ngo": [3, 8], "azalia": 3, "mirhoseini": 3, "catherin": [3, 5, 8], "olsson": [3, 8], "sam": [3, 5, 8], "ringer": 3, "liam": [3, 5, 8], "skirvin": 3, "jess": [3, 5, 8], "smith": [3, 5, 7], "dawn": [3, 5, 8], "song": [3, 4, 5, 8, 9], "william": [3, 4, 5, 6, 7, 8], "saunder": [3, 5], "steinhardt": [3, 5], "asset": [3, 5, 6, 8], "983c85a201a962f": 3, "pdf": [3, 6, 7, 8], "4b": 3, "24c8d0a3a7d0a1f1": 3, "bjn": 3, "22": [3, 5, 6, 8], "yuntao": [3, 5, 8], "andi": [3, 5, 8], "jone": [3, 5], "kamal": 3, "ndouss": 3, "anna": [3, 5, 8], "nova": [3, 7], "dassarma": 3, "drain": 3, "stanislav": 3, "fort": [3, 8], "ganguli": [3, 5, 8], "tom": [3, 5], "henighan": 3, "nichola": [3, 5], "joseph": [3, 5, 8], "saurav": [3, 8], "kadavath": 3, "jackson": [3, 5, 8], "kernion": [3, 5, 8], "conerli": 3, "sheer": [3, 9], "el": 3, "showk": 3, "nelson": 3, "elhag": 3, "zac": 3, "hatfield": 3, "dodd": 3, "danni": [3, 5, 8], "hernandez": [3, 5, 8], "tristan": 3, "hume": 3, "scott": [3, 5, 8], "johnston": 3, "shauna": 3, "kravec": 3, "lian": 3, "lovitt": 3, "neel": [3, 5], "nanda": 3, "dario": [3, 5], "amodei": [3, 5], "brown": [3, 5], "jack": [3, 5, 8], "clark": 3, "mccandlish": [3, 5], "chri": [3, 5, 8], "olah": 3, "ben": [3, 5, 7, 8], "mann": [3, 8], "jare": [3, 5, 8], "kaplan": [3, 5, 8], "arxiv": [3, 4, 5, 6, 7, 8, 9], "org": [3, 4, 5, 6, 7, 8, 9], "ab": [3, 4, 5, 6, 7, 8, 9], "2204": 3, "05862": 3, "bkk": 3, "sandipan": 3, "kundu": 3, "goldi": 3, "cameron": [3, 5, 8, 9], "mckinnon": 3, "carol": [3, 8], "christoph": [3, 5, 8], "dustin": 3, "eli": [3, 5, 7, 8], "tran": [3, 9], "johnson": 3, "ethan": [3, 5, 6, 8], "perez": [3, 6, 8], "jami": [3, 8], "kerr": 3, "mueller": 3, "jeffrei": 3, "ladish": 3, "joshua": [3, 5, 8], "landau": 3, "kamil": [3, 5], "lukosuit": 3, "michael": [3, 5, 6, 7, 8, 9], "sellitto": 3, "schiefer": 3, "noemi": 3, "mercado": 3, "robert": [3, 5, 7], "lasenbi": 3, "robin": 3, "larson": 3, "tamera": 3, "lanham": 3, "timothi": [3, 5, 7], "telleen": 3, "lawton": 3, "samuel": [3, 5, 8], "bowman": [3, 5], "2212": 3, "08073": 3, "blo23": 3, "announc": [3, 5], "cc": 3, "11": [3, 5, 6, 7, 8, 9], "ccl": [3, 8], "24": [3, 4, 5, 6, 7, 8, 9], "guim": 3, "hardi": 3, "shunian": 3, "zich": 3, "liu": [3, 5, 6, 7, 8, 9], "jiang": [3, 5, 6, 8], "benyou": 3, "wang": [3, 4, 5, 6, 7, 8, 9], "judgement": [3, 5, 8], "2402": [3, 8], "10669": 3, "dphz23": 3, "tim": [3, 6, 8], "artidoro": 3, "pagnoni": 3, "ari": [3, 5, 8], "holtzman": [3, 5], "luke": [3, 5, 8], "zettlemoy": 3, "2305": [3, 5], "14314": 3, "ddz": 3, "qingxiu": 3, "xingx": 3, "zhang": [3, 5, 6, 7, 8], "zhifang": 3, "sui": 3, "furu": [3, 4], "wei": [3, 4, 5, 6, 7, 8], "boost": 3, "2410": [3, 4, 8], "06961": 3, "fqh": 3, "duanyu": 3, "bowen": [3, 5, 7, 8], "qin": [3, 5, 7, 8], "zheng": [3, 5, 6, 7, 8], "wenqiang": 3, "lei": [3, 5, 7, 8], "analyz": [3, 4, 5, 6, 7, 8, 9], "perspect": [3, 6, 8], "2404": [3, 5, 8], "04626": 3, "h44a": 3, "binari": [3, 5, 7, 8], "huggingfaceh4": [3, 7, 8], "h44b": 3, "hhj": 3, "shuang": 3, "wenfeng": 3, "han": [3, 5, 8], "tao": [3, 5, 8], "yipe": 3, "haonan": 3, "chunlin": 3, "zhong": [3, 8], "zhangjun": 3, "zhou": [3, 4, 5, 6, 7, 8], "tang": [3, 5, 7, 8], "2401": [3, 5], "01629": 3, "hlt24": 3, "jiwoo": 3, "noah": [3, 5, 8], "lee": [3, 5, 6, 7, 8, 9], "jame": [3, 5, 8], "thorn": 3, "orpo": 3, "monolith": 3, "2403": [3, 5], "07691": 3, "hdn": 3, "zhenyu": 3, "pengfan": 3, "du": [3, 5], "yilin": 3, "niu": [3, 9], "zhengxiao": 3, "aohan": 3, "zeng": [3, 8], "xiao": [3, 8], "minli": 3, "hongn": 3, "jie": [3, 5, 8, 9], "yuxiao": 3, "2412": [3, 5, 6, 7, 8], "06000": 3, "hsw": 3, "21": [3, 5, 6, 7], "edward": [3, 5], "j": [3, 5, 7, 8, 9], "yelong": 3, "shen": [3, 5, 8], "phillip": 3, "walli": 3, "zeyuan": 3, "allen": [3, 5], "zhu": [3, 5, 7, 8], "yuanzhi": 3, "shean": 3, "lu": [3, 5, 7, 8], "weizhu": 3, "2106": 3, "09685": 3, "hgh": 3, "jiaxin": 3, "shixiang": [3, 5, 8], "shane": [3, 5, 8], "gu": [3, 5, 8], "le": [3, 5, 6, 7], "yuexin": 3, "xuezhi": [3, 6], "hongkun": 3, "yu": [3, 5, 7, 8], "jiawei": [3, 9], "2210": [3, 8], "11610": 3, "hug24": [3, 5], "hug4c": 3, "hug4d": [3, 7], "doc": [3, 4, 5, 6, 7, 8, 9], "en": [3, 5, 6, 7, 8, 9], "huy24": 3, "chip": 3, "reilli": [3, 6], "media": [3, 4, 5, 8], "decemb": [3, 5, 6, 8], "9781098129095": 3, "www": [3, 5, 6, 7, 8], "oreilli": [3, 6], "ksd": 3, "rylan": [3, 5, 8], "schaeffer": [3, 8], "apratim": 3, "dei": 3, "matthia": [3, 5], "gerstgrass": 3, "rafael": 3, "donoho": 3, "sanmi": [3, 8], "koyejo": [3, 8], "thrive": [3, 5, 9], "peril": 3, "16713": 3, "ksy": 3, "seungon": 3, "juyoung": 3, "suk": 3, "xiang": [3, 5, 7], "yue": [3, 6], "vijai": 3, "viswanathan": 3, "seongyun": 3, "yizhong": 3, "kiril": 3, "gashteovski": 3, "carolin": [3, 8], "lawrenc": 3, "sean": [3, 5, 8], "welleck": 3, "graham": 3, "neubig": 3, "03679": 3, "lt24": 3, "herd": [3, 7], "2407": [3, 5, 6, 7, 8], "21783": [3, 7], "lwx": 3, "lin": [3, 5, 6, 7, 8, 9], "rui": [3, 5, 7, 9], "ruixuan": 3, "junbo": 3, "zhao": [3, 5, 7, 8], "ding": 3, "gang": [3, 5], "haobo": 3, "driven": [3, 5, 7, 8], "survei": [3, 5, 8, 9], "2406": [3, 5, 6, 7, 8], "15126": 3, "met24": 3, "owj": 3, "jeff": [3, 5, 8], "xu": [3, 5, 7, 8], "diogo": [3, 8], "almeida": [3, 8], "carrol": [3, 8], "wainwright": [3, 8], "pamela": [3, 5, 8], "mishkin": [3, 5, 8], "chong": [3, 8], "sandhini": [3, 8], "agarw": [3, 5, 8], "katarina": [3, 8], "slama": [3, 8], "alex": [3, 5, 7, 8], "rai": [3, 5, 7, 8], "john": [3, 5, 6, 8], "hilton": [3, 5, 7, 8], "fraser": [3, 8], "kelton": 3, "miller": [3, 5], "maddi": [3, 8], "simen": [3, 8], "peter": [3, 5, 7, 8], "welind": [3, 5, 8], "paul": [3, 5, 8], "christiano": [3, 8], "leik": [3, 5, 8], "ryan": [3, 5, 8], "2203": 3, "02155": 3, "qwe24": 3, "rsm": 3, "archit": 3, "sharma": [3, 8], "eric": [3, 5, 7, 8], "mitchel": [3, 6, 7], "stefano": [3, 5], "ermon": [3, 5], "man": [3, 5, 6, 8], "chelsea": [3, 8], "finn": 3, "secretli": 3, "18290": 3, "swd": 3, "17": [3, 5, 6, 7, 8], "filip": [3, 8], "wolski": 3, "prafulla": 3, "dhariw": 3, "alec": [3, 5, 8], "radford": [3, 5, 8], "oleg": [3, 8], "klimov": 3, "1707": 3, "06347": 3, "smollm224": 3, "distil": [3, 4], "smollm2360mi24": 3, "sou24": 3, "html": [3, 6, 9], "srverh24": 3, "m\u00e1rton": 3, "daniel": [3, 5, 8], "rueckert": 3, "r\u00fcdiger": 3, "von": [3, 5, 7], "eisenhart": 3, "roth": [3, 5], "florian": 3, "hinterwimm": 3, "2411": [3, 6], "09539": 3, "tm": [3, 7], "23": [3, 5, 6, 7, 8], "hugo": [3, 7], "loui": [3, 5, 7], "martin": [3, 5, 6, 7, 8], "kevin": [3, 5, 7, 8], "stone": [3, 7], "albert": [3, 7], "amjad": [3, 7], "almahairi": [3, 7], "yasmin": [3, 7], "babaei": [3, 7], "nikolai": [3, 7], "bashlykov": [3, 7], "soumya": [3, 7], "batra": [3, 7], "prajjwal": [3, 7], "bhargava": [3, 7], "shruti": [3, 7], "bhosal": [3, 7], "dan": [3, 5, 7, 8, 9], "bikel": [3, 7], "luka": [3, 7], "blecher": [3, 7], "cristian": [3, 7], "canton": [3, 7], "ferrer": [3, 7], "moya": [3, 7], "guillem": [3, 7], "cucurul": [3, 7], "esiobu": [3, 7], "jude": [3, 7], "fernand": [3, 7], "jeremi": [3, 5, 6, 7], "fu": [3, 6, 7], "wenyin": [3, 7], "brian": [3, 6, 7, 8], "fuller": [3, 7, 8], "cynthia": [3, 7], "gao": [3, 5, 7, 8], "vedanuj": [3, 7], "goswami": [3, 7, 8], "naman": [3, 6, 7], "goyal": [3, 6, 7], "anthoni": [3, 6, 7], "hartshorn": [3, 7], "saghar": [3, 7], "hosseini": [3, 7], "hakan": [3, 7, 8], "inan": [3, 7, 8], "marcin": [3, 7], "karda": [3, 7], "viktor": [3, 7], "kerkez": [3, 7], "madian": [3, 7, 8], "khabsa": [3, 7, 8], "isabel": [3, 7, 8], "kloumann": [3, 7], "artem": [3, 7], "korenev": [3, 7], "punit": [3, 7], "singh": [3, 5, 6, 7], "koura": [3, 7], "mari": [3, 5, 7, 8], "ann": [3, 7, 8], "lachaux": [3, 7], "thibaut": [3, 7], "lavril": [3, 7], "jenya": [3, 7], "diana": [3, 5, 7], "liskovich": [3, 7], "yinghai": [3, 7], "yune": [3, 7, 8], "mao": [3, 4, 7, 8], "xavier": [3, 7], "martinet": [3, 7], "todor": [3, 7, 8], "mihaylov": [3, 7], "pushkar": [3, 7], "mishra": [3, 5, 7], "igor": [3, 5, 7, 8], "molybog": [3, 7], "yixin": [3, 5, 7], "nie": [3, 5, 6, 7], "andrew": [3, 5, 6, 7, 8], "poulton": [3, 7], "reizenstein": [3, 7], "rashi": [3, 7, 8], "rungta": [3, 6, 7, 8], "kalyan": [3, 7], "saladi": [3, 7], "alan": [3, 7, 8], "schelten": [3, 7], "ruan": [3, 7], "silva": [3, 7], "ranjan": [3, 7], "subramanian": [3, 7], "xiaoq": [3, 7], "ellen": [3, 7], "tan": [3, 5, 6, 7], "binh": [3, 7], "ross": [3, 4, 7, 8], "taylor": [3, 7], "adina": [3, 7, 8], "jian": [3, 5, 6, 7], "kuan": [3, 7], "puxin": [3, 7], "yan": [3, 4, 5, 7], "iliyan": [3, 7], "zarov": [3, 7], "yuchen": [3, 5, 7, 8], "angela": [3, 5, 7, 8], "fan": [3, 5, 6, 7], "melani": [3, 7], "kambadur": [3, 7], "sharan": [3, 7], "narang": [3, 7], "aurelien": [3, 7], "rodriguez": [3, 7], "stojnic": [3, 7], "sergei": [3, 7], "edunov": [3, 7], "thoma": [3, 5, 7, 8], "scialom": [3, 7], "2307": [3, 7, 9], "09288": [3, 7], "vaa": [3, 8], "berti": [3, 8], "adarsh": [3, 8], "agraw": [3, 8], "ahm": [3, 8], "victor": [3, 8], "akinwand": [3, 8], "namir": [3, 8], "nuaimi": [3, 8], "najla": [3, 8], "alfaraj": [3, 8], "alhajjar": [3, 8], "aroyo": [3, 8], "trupti": [3, 8], "bavalatti": [3, 8], "max": [3, 5, 6, 8], "bartolo": [3, 8], "borhan": [3, 8], "blili": [3, 8], "hamelin": [3, 8], "kurt": [3, 8], "bollack": [3, 8], "rishi": [3, 5, 7, 8], "bomassani": [3, 8], "marisa": [3, 8], "ferrara": [3, 8], "boston": [3, 8], "sim\u00e9on": [3, 8], "campo": [3, 8], "kal": [3, 8], "chakra": [3, 8], "canyu": [3, 8], "codi": [3, 8], "coleman": [3, 8], "zachari": [3, 5, 8], "delpierr": [3, 8], "coudert": [3, 8], "leon": [3, 8], "derczynski": [3, 8], "debojyoti": [3, 8], "dutta": [3, 8], "ian": [3, 5, 8], "eisenberg": [3, 8], "ezick": [3, 8], "heather": [3, 8], "frase": [3, 8], "ram": [3, 7, 8], "gandikota": [3, 8], "agasthya": [3, 8], "gangavarapu": [3, 8], "ananya": [3, 5, 8], "geali": [3, 8], "rajat": [3, 8], "ghosh": [3, 5, 8], "goel": [3, 5, 8], "usman": [3, 8], "gohar": [3, 8], "sujata": [3, 8], "hale": [3, 8], "wiebk": [3, 8], "hutiri": [3, 8], "marvin": [3, 8], "imperi": [3, 8], "surgan": [3, 8], "jandial": [3, 8], "nick": [3, 5, 8], "judd": [3, 8], "felix": [3, 5, 8], "juefei": [3, 8], "fouts": [3, 8], "khomh": [3, 8], "bhavya": [3, 8], "kailkhura": [3, 8], "hannah": [3, 5, 8], "rose": [3, 8], "kirk": [3, 8], "klyman": [3, 8], "knotz": [3, 8], "kuchnik": [3, 8], "shachi": [3, 8], "kumar": [3, 5, 8], "srijan": [3, 8], "lengerich": [3, 8], "bo": [3, 5, 7, 8], "zeyi": [3, 8], "liao": [3, 5, 8], "eileen": [3, 8], "sarah": [3, 5, 8], "luger": [3, 8], "yifan": [3, 5, 8], "priyanka": [3, 8], "mammen": [3, 8], "kelvin": [3, 6, 8], "manyeki": [3, 8], "mcgregor": [3, 8], "virendra": [3, 8], "mehta": [3, 5, 8], "shafe": [3, 8], "moham": [3, 8], "moss": [3, 8], "lama": [3, 8], "nachman": [3, 8], "dinesh": [3, 8], "jinenh": [3, 8], "naganna": [3, 8], "amin": [3, 8], "nikanjam": [3, 8], "besmira": [3, 8], "nushi": [3, 8], "lui": [3, 5, 8], "oala": [3, 8], "iftach": [3, 8], "orr": [3, 5, 8], "alicia": [3, 5, 8], "parrish": [3, 5, 8], "cigdem": [3, 8], "patlak": [3, 8], "pietri": [3, 8], "forough": [3, 8], "poursabzi": [3, 8], "sangdeh": [3, 8], "eleonora": [3, 8], "presani": [3, 8], "fabrizio": [3, 8], "puletti": [3, 8], "r\u00f6ttger": [3, 8], "sahai": [3, 8], "santo": [3, 8], "nino": [3, 8], "scherrer": [3, 8], "alic": [3, 5, 8, 9], "schoenauer": [3, 8], "sebag": [3, 8], "patrick": [3, 6, 8], "schramowski": [3, 8], "abolfazl": [3, 8], "shahbazi": [3, 8], "vin": [3, 8], "xudong": [3, 5, 6, 8], "vamsi": [3, 8], "sistla": [3, 8], "leonard": [3, 8], "testuggin": [3, 8], "vithursan": [3, 8], "thangarasa": [3, 8], "elizabeth": [3, 5, 8], "watkin": [3, 8], "rebecca": [3, 5, 8], "weiss": [3, 8], "welti": [3, 8], "tyler": [3, 5, 8], "wilber": [3, 8], "jean": [3, 8], "poonam": [3, 8], "yadav": [3, 8], "xianjun": [3, 8], "yang": [3, 5, 6, 7, 8, 9], "yi": [3, 5, 6, 8, 9], "wenhui": [3, 8], "fedor": [3, 8], "zhdanov": [3, 8], "jiacheng": [3, 5, 8], "perci": [3, 5, 8], "liang": [3, 5, 8, 9], "mattson": [3, 8], "joaquin": [3, 8], "vanschoren": [3, 8], "v0": [3, 8], "12241": [3, 8], "wyg": 3, "tianhao": [3, 5, 7, 8], "weizh": 3, "yuan": [3, 5, 8], "olga": 3, "golovneva": 3, "jing": [3, 8], "yuandong": 3, "tian": 3, "jiantao": 3, "jiao": 3, "jason": [3, 5, 6, 8], "weston": 3, "sainbayar": 3, "sukhbaatar": 3, "19594": 3, "ywx": 3, "yueqin": 3, "zhendong": 3, "yujia": [3, 6], "xie": [3, 5, 8], "mingyuan": 3, "paradigm": [3, 5, 6], "semanticscholar": 3, "corpusid": 3, "270199610": 3, "suppos": [4, 5, 9], "econom": [4, 5, 6], "fuel": 4, "equival": [4, 5, 7], "consumpt": [4, 5, 6], "contrari": 4, "truth": [4, 5, 7, 8, 9], "stanlei": 4, "jevon": 4, "a16z": 4, "andreessen": 4, "horowitz": 4, "10x": 4, "outpac": 4, "moor": 4, "pc": 4, "edholm": 4, "bandwidth": 4, "era": 4, "llmflation": 4, "mmlu": [4, 7, 8], "60": [4, 5, 6, 7, 8], "06": [4, 5, 6, 9], "price": [4, 5, 6, 7], "fallen": 4, "62": [4, 5, 7], "introduct": 4, "march": [4, 5, 9], "stem": [4, 5, 9], "compound": 4, "bit": [4, 6, 7], "tune": [4, 5, 6, 8], "dpo": [4, 7], "competit": [4, 5, 6, 7, 8], "plummet": 4, "rapidli": [4, 6, 7, 8, 9], "preciou": 4, "wouldn": [4, 5], "sens": [4, 8], "wait": [4, 5, 8], "wave": 4, "economist": 4, "1865": 4, "studi": [4, 9], "coal": 4, "industri": [4, 5, 6, 7, 8, 9], "made": [4, 5, 6, 7, 9], "counterintuit": 4, "discoveri": 4, "steam": 4, "spend": [4, 5, 6], "repeat": [4, 6], "didn": [4, 9], "smartphon": [4, 5, 6, 7], "server": [4, 5, 7, 9], "network": [4, 5, 6, 7, 9], "transmiss": 4, "got": 4, "cheaper": [4, 5], "shift": [4, 5, 6], "hd": 4, "stream": [4, 5, 6, 7, 9], "storag": [4, 5, 6, 7, 8], "gigabyt": 4, "entir": [4, 5, 6, 7, 9], "massiv": [4, 5, 6, 8], "broadli": [4, 6, 7, 9], "audio": [4, 5, 6], "transcript": [4, 6], "multimod": [4, 7, 8], "imag": [4, 5, 6, 7, 8], "exponenti": [4, 5], "growth": [4, 5, 6], "magnifi": 4, "everyth": [4, 9], "billion": [4, 5, 6, 7, 9], "dollar": [4, 5, 7], "annual": [4, 5, 6, 8], "millisecond": [4, 5], "latenc": [4, 5, 6, 7, 8], "30": [4, 5, 6, 7, 8], "mobil": [4, 5, 7, 9], "b": [4, 5, 6, 7, 8, 9], "tradeoff": [4, 7, 8, 9], "pro": [4, 5, 6, 7, 8], "trigger": [4, 6, 8], "premium": [4, 5], "innov": [4, 5, 6, 7, 8], "capac": [4, 5, 6, 7], "link": [4, 5], "dual": 4, "character": [4, 5, 8], "ahead": [4, 7, 8], "decai": [4, 7], "area": [4, 5, 6, 8, 9], "flash": [4, 6, 7], "cach": [4, 5, 6, 7], "prompt": [4, 5, 6, 8], "compress": [4, 5, 6, 7], "provis": [4, 5], "extent": [4, 5, 8], "problema": 4, "accomplish": [4, 6, 8, 9], "accompani": [4, 5, 8], "transact": [4, 5, 8], "roi": 4, "alloc": [4, 5, 6, 7, 8], "budget": [4, 6, 7], "viabil": [4, 7], "prioriti": [4, 5, 7], "overlook": [4, 6], "thorough": [4, 7, 8], "identif": [4, 5], "specifi": [4, 5, 6, 7, 8, 9], "longev": 4, "accommod": 4, "evalu": [4, 6, 7, 9], "multi": [4, 5, 6, 7, 8, 9], "baselin": [4, 5, 7, 8], "met": [4, 5, 8], "equal": [4, 5, 6, 8], "concurr": [4, 7], "peak": 4, "spike": 4, "versu": [4, 5, 7, 8], "volum": [4, 5, 7, 8], "season": [4, 5], "variat": [4, 5, 7, 8], "uptim": 4, "mainten": [4, 5, 7, 8], "disrupt": [4, 5, 6], "backup": 4, "failov": 4, "clearli": [4, 5, 8, 9], "redund": [4, 5], "recoveri": [4, 5], "unexpect": [4, 5, 8, 9], "event": [4, 5], "seamless": [4, 5, 8], "broader": [4, 5, 6, 7, 8], "vector": [4, 7, 8], "augment": [4, 5, 7], "rag": [4, 7], "retent": [4, 5, 6], "polici": [4, 5, 6, 7], "essenti": [4, 5, 6, 7, 8, 9], "opportun": [4, 5, 6], "post": [4, 5, 7, 8], "32": [4, 5, 6, 7], "fp32": 4, "fp16": [4, 7], "proport": [4, 5, 7], "byte": 4, "120": [4, 5, 8], "gb": 4, "whole": [4, 5], "done": [4, 5, 7, 8, 9], "smollm2": [4, 5, 7, 9], "135m": [4, 7], "load_gguf": 4, "bartowski": 4, "gguf": [4, 7], "gguf_file_q2_k": 4, "q2_k": [4, 7], "gguf_file_f16": 4, "f16": 4, "model_q2_k": 4, "gguf_fil": 4, "model_f16": 4, "mlp": 4, "layer": [4, 5, 6, 7, 9], "proxi": [4, 5, 6, 8], "mlp_weights_q2_k": 4, "gate_proj": 4, "mlp_weights_f16": 4, "tensor": [4, 6, 9], "0145": 4, "1826": 4, "1377": 4, "1719": 4, "1387": 4, "0298": 4, "1631": 4, "0781": 4, "2051": [4, 5], "2070": 4, "0334": 4, "2891": 4, "1768": 4, "0488": 4, "2393": 4, "0396": 4, "1348": 4, "1533": 4, "0771": 4, "0845": 4, "0232": 4, "0178": 4, "1040": 4, "1582": 4, "1167": 4, "0474": 4, "0359": 4, "2500": 4, "0432": 4, "0972": 4, "0933": 4, "2188": 4, "0776": 4, "0674": 4, "requires_grad": 4, "0028": 4, "1852": 4, "1396": 4, "1506": 4, "1635": 4, "0043": 4, "0680": 4, "2257": 4, "1890": 4, "0464": 4, "2960": 4, "1840": 4, "0451": 4, "2395": 4, "0413": 4, "1446": 4, "0621": 4, "0478": 4, "0038": 4, "0830": 4, "1473": 4, "0926": 4, "0547": 4, "0824": 4, "0429": 4, "2737": 4, "0355": 4, "0782": 4, "2043": [4, 5], "0740": 4, "arriv": [4, 5], "pearson": 4, "numpi": [4, 5], "np": [4, 5, 6], "arrai": [4, 6, 8], "detach": 4, "graph": [4, 5, 6], "weights_f16": 4, "weights_q2_k": 4, "flat_f16": 4, "flatten": 4, "flat_q2_k": 4, "corrcoef": 4, "4f": [4, 9], "9970": 4, "exemplifi": [4, 6, 7, 8], "70b": [4, 5, 7], "unsloth": 4, "141": 4, "q8_0": [4, 7], "75": [4, 8], "47": [4, 5, 7, 8], "cumul": [4, 5, 6], "26": [4, 5, 7], "19": [4, 5, 6, 7, 8], "space": [4, 5, 6, 7, 8], "counterpart": 4, "spectrum": [4, 5, 6], "variant": [4, 5, 7, 8], "laptop": [4, 5], "desktop": [4, 5, 7], "enterpris": [4, 5, 6, 7, 8, 9], "ceil": 4, "notabl": [4, 5, 6, 8, 9], "bitnet": 4, "cpp": [4, 9], "arm": 4, "x86": 4, "speedup": [4, 7], "37x": 4, "07x": 4, "17x": 4, "beyond": [4, 5, 6, 8], "raw": [4, 5, 7, 8, 9], "speed": [4, 5, 6, 7, 8], "energi": [4, 5, 6], "55": [4, 5, 6, 7], "70": [4, 5, 7], "71": [4, 5], "82": [4, 8], "impress": [4, 7, 9], "100b": 4, "b1": 4, "58": [4, 6, 7], "pace": [4, 5, 6, 8], "kernel": 4, "characterist": [4, 5, 7, 8, 9], "excit": [4, 7], "frontier": [4, 8], "compel": [4, 5, 7, 9], "acceler": [4, 5, 7, 8], "faster": [4, 6, 7], "arithmet": [4, 5], "benefici": [4, 5, 7], "sustain": [4, 5, 6, 7, 8], "Be": [4, 5, 7, 8], "fine": [4, 5, 6, 8], "pure": [4, 5, 7, 9], "unlock": [4, 9], "track": [4, 5, 6, 8], "chargeback": 4, "regularli": [4, 5], "wz": 4, "jinheng": 4, "hansong": 4, "ting": [4, 8], "shaoguang": 4, "shume": [4, 8], "ma": [4, 5, 8], "hongyu": [4, 5], "xia": [4, 5, 6, 7], "infra": 4, "fast": [4, 5, 6, 7, 8, 9], "lossless": 4, "16144": 4, "andreessenhorowitz24": 4, "huggingface4w": [4, 7], "2024w": [4, 7], "unsloth24": 4, "jonathan": [4, 5, 8], "ceo": [4, 5], "groq": [4, 7], "maarten": [4, 5, 6, 8], "grootendorst": [4, 6], "streamlin": [4, 5, 6, 7, 9], "notat": 4, "width": [4, 7], "_k": 4, "_0": 4, "matter": [5, 6], "beauti": 5, "smart": [5, 8], "agre": 5, "wrong": 5, "feynman": 5, "advent": 5, "pivot": [5, 7], "verif": [5, 6, 7, 9], "norm": 5, "realm": 5, "convent": [5, 8], "evolut": [5, 7], "conceiv": 5, "entrench": 5, "seem": 5, "daunt": [5, 6], "ignor": 5, "outdat": [5, 6, 8, 9], "inevit": 5, "setback": 5, "imper": 5, "embrac": 5, "proactiv": [5, 8], "mindset": 5, "front": [5, 7], "incorpor": [5, 6, 7, 8, 9], "produc": [5, 6, 7, 8, 9], "novel": [5, 7], "ident": [5, 6], "isn": [5, 8], "bug": 5, "random": [5, 8, 9], "testabl": 5, "guarante": [5, 6, 7, 8, 9], "exceedingli": 5, "primari": [5, 6, 8], "nucleu": 5, "2020": 5, "summari": [5, 6, 7, 8, 9], "alter": 5, "rigid": 5, "wildli": 5, "incoher": 5, "inadequ": [5, 8], "temp": 5, "df_result": 5, "ntemperatur": 5, "40": [5, 6, 7], "temp_respons": 5, "iterrow": [5, 8], "10000": [5, 6, 9], "appl": [5, 6, 9], "txt": [5, 6, 7, 9], "sec_fil": [5, 9], "nsecur": 5, "AND": [5, 9], "exchang": [5, 6, 8, 9], "commiss": [5, 6, 8, 9], "nwashington": 5, "20549": 5, "nform": 5, "pursuant": 5, "TO": [5, 8], "13": [5, 6, 7, 8], "OR": 5, "OF": [5, 8], "THE": [5, 8], "1934": 5, "nfor": 5, "fiscal": [5, 6], "septemb": [5, 6], "28": [5, 6, 7, 8], "nor": [5, 6], "period": [5, 6, 8], "ncommiss": 5, "001": [5, 7], "36743": 5, "ng66145g66i43": 5, "jpg": 5, "nappl": 5, "exact": [5, 7, 8], "registr": 5, "charter": 5, "ncalifornia": 5, "t94": 5, "2404110": 5, "jurisdict": 5, "nof": 5, "employ": 5, "park": 5, "ncupertino": 5, "california": [5, 8, 9], "n95014": 5, "princip": 5, "offic": [5, 6, 8], "408": 5, "996": 5, "1010": 5, "telephon": 5, "regist": 5, "ntitl": 5, "ttrade": 5, "symbol": 5, "tname": 5, "ncommon": 5, "stock": [5, 9], "00001": 5, "naapl": 5, "tthe": 5, "nasdaq": [5, 6, 9], "llc": [5, 9], "n0": 5, "000": [5, 7, 9], "note": [5, 7, 9], "2025": [5, 6], "875": 5, "625": 5, "2026": 5, "2027": 5, "375": 5, "2029": 5, "050": 5, "2031": [5, 8], "600": 5, "2042": 5, "nindic": 5, "issuer": 5, "405": 5, "nye": 5, "preced": [5, 9], "shorter": [5, 6], "past": [5, 6, 8], "90": [5, 6, 7, 8], "submit": [5, 7, 8], "electron": 5, "232": 5, "filer": 5, "12b": [5, 8], "nlarg": 5, "tacceler": 5, "nnon": 5, "tsmaller": 5, "nemerg": 5, "nif": 5, "elect": [5, 8], "revis": [5, 8], "attest": 5, "404": 5, "sarban": 5, "oxlei": 5, "7262": 5, "firm": [5, 8], "prepar": [5, 7, 8], "correct": [5, 6, 8], "restat": 5, "incent": 5, "compens": 5, "240": 5, "10d": 5, "shell": 5, "aggreg": [5, 8, 9], "vote": 5, "held": [5, 9], "affili": [5, 9], "29": [5, 7, 8, 9], "last": [5, 6, 8, 9], "quarter": 5, "628": [5, 9], "553": [5, 9], "sole": [5, 6, 8], "disclosur": [5, 6, 7, 8], "director": [5, 7, 8], "date": 5, "exclud": 5, "n15": 5, "115": [5, 9], "823": [5, 9], "outstand": [5, 9], "octob": [5, 9], "18": [5, 6, 7, 8, 9], "ndocument": 5, "BY": 5, "nportion": 5, "meet": [5, 6, 8, 9], "sharehold": [5, 6], "iii": 5, "ntabl": 5, "npage": 5, "npart": 5, "nitem": 5, "nbusi": 5, "1a": 5, "nrisk": 5, "1b": [5, 7, 8], "nunresolv": 5, "staff": 5, "comment": 5, "n17": 5, "1c": 5, "ncybersecur": 5, "nproperti": 5, "n18": 5, "nlegal": 5, "proceed": [5, 6, 8], "nmine": 5, "ii": [5, 7, 9], "nmarket": 5, "stockhold": 5, "purchas": [5, 6, 8], "n19": 5, "reserv": [5, 6], "n20": 5, "nmanag": 5, "n21": 5, "7a": 5, "nquantit": 5, "n27": 5, "nfinanci": 5, "supplementari": 5, "n28": 5, "nchang": 5, "disagr": 5, "n51": 5, "9a": 5, "ncontrol": 5, "procedur": [5, 6, 8], "9b": 5, "nother": 5, "n52": 5, "9c": 5, "ndisclosur": 5, "foreign": [5, 6], "ndirector": 5, "corpor": [5, 6, 8], "nexecut": 5, "ownership": [5, 7], "certain": [5, 6, 8, 9], "owner": 5, "ncertain": 5, "nprincip": 5, "fee": [5, 6], "iv": 5, "nexhibit": 5, "n53": 5, "n56": 5, "nthi": 5, "litig": [5, 6, 7], "reform": 5, "1995": 5, "uncertainti": [5, 6, 7, 8], "macroeconom": [5, 6], "anticip": [5, 6, 8], "intend": [5, 7, 8], "caus": [5, 8, 9], "oblig": [5, 6], "nunless": 5, "herein": 5, "calendar": 5, "wholli": 5, "subsidiari": 5, "unless": [5, 7], "ncompani": 5, "manufactur": 5, "tablet": [5, 6, 7], "wearabl": 5, "accessori": 5, "sell": [5, 8], "varieti": [5, 7], "52": [5, 8], "53": [5, 6, 8], "week": 5, "saturdai": 5, "nproduct": 5, "niphon": 5, "io": [5, 6, 8, 9], "iphon": [5, 6], "se": [5, 8], "nmac": 5, "maco": [5, 7], "mac": [5, 7], "macbook": 5, "air": 5, "imac": 5, "studio": 5, "nipad": 5, "multipurpos": 5, "ipado": 5, "ipad": 5, "nwearabl": 5, "home": [5, 6, 9], "smartwatch": 5, "wireless": 5, "headphon": 5, "spatial": 5, "watcho": 5, "watch": 5, "ultra": 5, "airpod": 5, "beat": [5, 7], "visiono": 5, "nhome": 5, "tv": 5, "tvo": 5, "homepod": 5, "fidel": [5, 9], "naccessori": 5, "brand": 5, "third": [5, 6, 7, 8], "parti": [5, 6, 7, 8], "nservic": 5, "nadvertis": 5, "advertis": 5, "licens": [5, 6], "napplecar": 5, "portfolio": [5, 6], "applecar": 5, "repair": 5, "coverag": [5, 6, 8], "accident": 5, "damag": [5, 8], "theft": [5, 8], "ncloud": 5, "ndigit": 5, "app": [5, 6, 7], "discov": [5, 7, 8], "download": [5, 6, 7], "music": 5, "podcast": 5, "subscript": [5, 7], "arcad": 5, "sm": 5, "listen": [5, 7], "radio": 5, "station": 5, "magazin": 5, "exclus": 5, "sport": 5, "npayment": 5, "payment": 5, "credit": [5, 6], "pai": [5, 7], "cashless": 5, "nsegment": 5, "primarili": [5, 6, 8], "geograph": [5, 6, 8], "basi": [5, 7], "segment": [5, 6, 8, 9], "america": [5, 6], "europ": 5, "china": [5, 6, 7, 8], "japan": 5, "rest": [5, 7], "asia": 5, "pacif": 5, "north": [5, 8], "south": 5, "european": [5, 8], "india": 5, "middl": [5, 6, 7, 8], "east": 5, "africa": 5, "mainland": 5, "kong": 5, "taiwan": 5, "australia": 5, "asian": [5, 6], "although": [5, 7], "partner": [5, 6, 7, 8], "mid": [5, 6], "resel": [5, 6], "retail": 5, "sale": [5, 6], "indirect": 5, "channel": [5, 6, 8], "cellular": 5, "carrier": 5, "net": [5, 6, 9], "38": [5, 6, 7, 8], "ncompetit": 5, "downward": 5, "pressur": [5, 8], "gross": [5, 8], "cycl": [5, 8], "competitor": [5, 6, 7, 8], "compet": [5, 6, 7], "imit": 5, "infring": [5, 7], "intellectu": [5, 7, 8], "marketplac": [5, 8], "nearli": [5, 7], "reput": [5, 8], "expand": [5, 6, 7, 8], "profit": [5, 6, 8, 9], "illegitim": [5, 8], "collabor": [5, 7, 8], "nsuppli": 5, "nalthough": 5, "particip": 5, "shortag": 5, "commod": [5, 6, 7], "fluctuat": [5, 6], "commonli": [5, 6], "until": [5, 8, 9], "supplier": 5, "matur": 5, "concentr": [5, 6], "enter": [5, 9], "agreement": [5, 6], "suppli": [5, 6, 9], "renew": [5, 6], "nresearch": 5, "nbecaus": 5, "upon": [5, 6, 8], "flow": [5, 6, 9], "acquisit": [5, 6, 8], "nintellectu": 5, "broad": [5, 6, 7, 9], "patent": 5, "copyright": [5, 7], "trademark": 5, "secret": 5, "differenti": 5, "skill": [5, 8], "personnel": 5, "pursu": [5, 8], "thousand": [5, 7], "durat": 5, "adequ": [5, 8], "nin": 5, "holidai": [5, 8], "fill": 5, "inventori": 5, "older": [5, 7], "newer": 5, "distributor": 5, "nhuman": 5, "strive": 5, "retain": [5, 6, 7, 8], "talent": [5, 6], "member": [5, 8], "164": 5, "ncompens": 5, "equit": 5, "succe": 5, "health": [5, 6, 8], "awai": [5, 6, 8], "ngrowth": 5, "career": 5, "leadership": [5, 8], "nworkplac": 5, "workplac": 5, "ninclus": 5, "workforc": 5, "nengag": 5, "among": [5, 6, 7, 8, 9], "everyon": [5, 7], "gaug": 5, "sentiment": [5, 6, 7, 9], "nhealth": 5, "everywher": 5, "crisi": 5, "visitor": 5, "navail": 5, "quarterli": 5, "q": [5, 6, 7, 8], "amend": 5, "sec": [5, 6, 9], "Such": [5, 8], "charg": 5, "investor": [5, 6, 9], "aspx": 5, "websit": [5, 6, 7, 8], "environment": [5, 8], "referenc": [5, 6], "inact": 5, "textual": 5, "unknown": [5, 6, 8], "advers": 5, "conjunct": 5, "consolid": [5, 6], "nmacroeconom": 5, "facil": 5, "assembli": 5, "site": [5, 9], "nadvers": 5, "slow": [5, 6], "recess": 5, "unemploy": [5, 6], "inflat": [5, 6], "tighter": 5, "currenc": [5, 6], "monetari": 5, "contract": [5, 7], "logist": 5, "instabl": [5, 8], "inabl": [5, 6], "financ": [5, 6, 7, 8], "insolv": 5, "counterparti": 5, "debt": 5, "liquid": [5, 6], "fair": [5, 8], "instrument": 5, "polit": [5, 8], "disput": 5, "geopolit": 5, "tension": [5, 8], "terror": 5, "accid": 5, "interrupt": 5, "npolit": 5, "outsourc": [5, 6], "korea": 5, "vietnam": 5, "restrict": [5, 7, 8, 9], "tariff": 5, "export": [5, 6], "portion": [5, 7], "revenu": [5, 6, 9], "restructur": 5, "ceas": 5, "escal": [5, 8], "nmani": 5, "prone": [5, 6, 8], "earthquak": 5, "climat": 5, "weather": 5, "plant": 5, "terrorist": [5, 8], "attack": [5, 8], "hostil": 5, "ransomwar": 5, "cybersecur": [5, 6, 8], "labor": 5, "nsuch": 5, "imposs": [5, 7], "slowdown": 5, "outag": 5, "neg": [5, 6, 8, 9], "pandem": 5, "covid": 5, "economi": 5, "imposit": 5, "stringent": [5, 7, 8], "travel": 5, "freight": 5, "movement": 5, "ramp": 5, "nfollow": 5, "expenditur": 5, "resum": 5, "exacerb": [5, 6], "insur": 5, "nglobal": 5, "unabl": 5, "assur": [5, 8], "minor": [5, 6, 8], "naddition": 5, "intensifi": 5, "seamlessli": 5, "nto": 5, "stimul": 5, "ndue": 5, "upgrad": 5, "quantiti": 5, "defect": 5, "defici": 5, "supersed": 5, "nsubstanti": 5, "transport": 5, "reimburs": 5, "warranti": 5, "unanticip": 5, "liabil": 5, "finish": [5, 8], "destin": 5, "prepay": 5, "termin": [5, 7], "recover": 5, "exposur": [5, 8], "nfutur": 5, "semiconductor": 5, "suffer": [5, 6, 8], "constrain": [5, 7, 9], "shipment": 5, "unexpectedli": 5, "interfer": 5, "unsaf": [5, 8], "expos": [5, 6, 8], "widespread": [5, 8], "vulner": [5, 6, 8], "compromis": [5, 7, 8], "claim": [5, 6, 7, 8], "intang": 5, "lost": [5, 6, 8], "cancel": 5, "obsolet": 5, "exce": [5, 8], "realiz": 5, "accru": 5, "excess": 5, "impair": 5, "whenev": 5, "circumst": 5, "amount": [5, 6, 8, 9], "carri": [5, 7, 9], "incur": [5, 6], "unpredict": [5, 8], "obsolesc": 5, "forecast": [5, 6, 8], "incorrectli": [5, 8, 9], "extens": [5, 6, 7, 9], "issuanc": 5, "unknowingli": [5, 8], "notifi": 5, "preclud": 5, "bui": 5, "percept": 5, "android": [5, 6], "playstat": 5, "nintendo": 5, "xbox": 5, "inclin": 5, "devot": 5, "dissatisfi": 5, "vast": [5, 6, 8], "storefront": 5, "safari": 5, "union": [5, 8], "eu": [5, 6, 8], "dma": [5, 6], "narrow": [5, 7, 8], "scope": [5, 6, 7, 8], "elimin": [5, 6, 7], "nfailur": 5, "appeal": [5, 6], "subscrib": [5, 6], "nsome": 5, "manner": [5, 6, 8], "nurtur": 5, "nmuch": 5, "chief": [5, 6], "silicon": 5, "vallei": 5, "constantli": 5, "driver": [5, 7], "recruit": 5, "subsidi": 5, "staf": 5, "contractor": 5, "placement": 5, "increment": 5, "weaken": 5, "telecommun": 5, "war": 5, "virus": 5, "ins": 5, "incid": [5, 8], "ineffect": 5, "thing": [5, 9], "interf": 5, "imped": 5, "ship": 5, "nloss": 5, "unauthor": [5, 8], "confidenti": [5, 7], "encrypt": 5, "But": [5, 6, 8, 9], "behalf": 5, "normal": [5, 6, 8, 9], "investig": [5, 6, 8], "penalti": [5, 7], "frequenc": [5, 7, 8], "actor": [5, 8], "circumv": [5, 8], "obfusc": 5, "forens": 5, "hinder": [5, 9], "recov": 5, "perpetr": 5, "profil": [5, 7], "authent": 5, "hack": [5, 8], "malfeas": 5, "faulti": 5, "password": 5, "irregular": 5, "fraudul": 5, "induc": 5, "disclos": [5, 6, 9], "usernam": 5, "turn": [5, 6, 8, 9], "multifactor": 5, "unusu": 5, "freez": 5, "suspici": 5, "nwhile": 5, "ninvest": 5, "ongo": [5, 6, 7], "contempl": 5, "endeavor": 5, "distract": 5, "tangibl": 5, "approv": 5, "oner": 5, "ventur": 5, "riski": 5, "leas": 5, "unfavor": [5, 6], "arisen": 5, "ordinari": 5, "cours": [5, 6, 7, 8], "resolv": [5, 7, 8], "sometim": [5, 6], "indemnif": 5, "indemnifi": 5, "alleg": 5, "magnitud": 5, "assert": [5, 6], "royalti": 5, "vigor": 5, "defend": 5, "court": [5, 7], "internation": 5, "plaintiff": 5, "injunct": 5, "relief": 5, "nregardless": 5, "merit": 5, "recognit": [5, 7, 8], "settl": 5, "uncertain": [5, 6], "disgorg": 5, "remedi": [5, 8], "worldwid": 5, "antitrust": [5, 6], "bill": [5, 6], "commerc": 5, "televis": 5, "film": 5, "anticorrupt": 5, "cash": [5, 6], "repatri": 5, "launder": 5, "tax": [5, 6], "wast": 5, "recycl": 5, "ncomplianc": 5, "impos": [5, 7, 8, 9], "agent": [5, 7, 8], "nregulatori": 5, "ban": [5, 8], "nexpect": 5, "increasingli": [5, 6, 7, 8, 9], "greenhous": 5, "ga": 5, "emiss": 5, "civil": 5, "disagre": 5, "perceiv": 5, "feder": 5, "nfrom": 5, "noncompli": 5, "individu": [5, 6, 7, 8], "lawsuit": [5, 7], "monopol": 5, "nfurther": 5, "earn": 5, "search": [5, 6, 7, 8], "nthere": 5, "transfer": 5, "pass": [5, 6, 7, 8, 9], "pend": 5, "inquiri": [5, 8], "government": 5, "entiti": [5, 7, 8, 9], "biometr": 5, "notif": 5, "permit": [5, 7, 9], "healthcar": [5, 6, 7], "liabl": 5, "investigatori": 5, "cardhold": 5, "acquir": 5, "denomin": 5, "offset": 5, "strengthen": [5, 8], "nconvers": 5, "thu": 5, "hedg": 5, "deterior": 5, "sovereign": 5, "heighten": [5, 8], "worsen": 5, "A": [5, 7, 8, 9], "collater": 5, "bank": 5, "unsecur": 5, "subassembli": 5, "assembl": 5, "legisl": 5, "ireland": [5, 8], "singapor": 5, "organis": 5, "statutori": 5, "valuat": [5, 6], "defer": 5, "bodi": [5, 8], "adequaci": 5, "ow": 5, "ngener": 5, "repurchas": 5, "dividend": 5, "consumm": 5, "declar": [5, 6], "board": [5, 6, 8], "unresolv": 5, "nnone": 5, "threat": [5, 6, 8], "postur": 5, "25": [5, 6, 7, 8], "2016": 5, "coordin": [5, 8], "committe": [5, 8], "oversight": [5, 8], "counsel": 5, "chair": 5, "headquart": 5, "cupertino": [5, 9], "center": [5, 8, 9], "formal": [5, 8, 9], "uninstal": 5, "web": [5, 6, 7, 8], "browser": 5, "june": 5, "contractu": 5, "desist": 5, "stai": [5, 7], "grant": 5, "ndepart": 5, "justic": 5, "depart": [5, 8], "doj": 5, "district": 5, "attornei": 5, "jersei": 5, "redress": [5, 8], "anticompetit": 5, "nonmonetari": 5, "defens": [5, 8], "nepic": 5, "epic": 5, "northern": 5, "unfair": [5, 8], "enjoin": 5, "extern": [5, 6, 8], "januari": 5, "motion": 5, "oppos": [5, 8], "vacat": 5, "fourth": 5, "mine": 5, "nnot": 5, "aapl": 5, "nholder": 5, "na": [5, 8], "301": 5, "npurchas": 5, "nshare": 5, "nperiod": 5, "ttotal": 5, "taverag": 5, "npaid": 5, "nannounc": 5, "napproxim": 5, "That": [5, 6, 8, 9], "nunder": 5, "njune": 5, "august": [5, 6, 8], "nopen": 5, "negoti": [5, 8], "t35": 5, "697": 5, "t224": 5, "naugust": 5, "31": [5, 6, 7], "t42": 5, "910": 5, "t221": 5, "39": [5, 6, 7], "nseptemb": 5, "t33": 5, "653": 5, "t222": 5, "86": [5, 6, 7], "ntotal": [5, 8], "t112": 5, "260": 5, "t89": 5, "074": 5, "110": 5, "10b5": 5, "reinvest": 5, "dow": 5, "supersector": 5, "27": [5, 7, 8], "2019": 5, "n2218": 5, "tseptemb": 5, "t100": 5, "t207": 5, "t273": 5, "t281": 5, "t322": 5, "t430": 5, "t113": 5, "t156": 5, "t131": 5, "t155": 5, "t210": 5, "ndow": 5, "t146": 5, "t216": 5, "t215": 5, "nfirst": 5, "nsecond": 5, "nthird": 5, "sequoia": 5, "nfourth": 5, "plu": [5, 7], "nfiscal": 5, "six": 5, "realign": 5, "span": [5, 7, 8], "indirectli": 5, "n2024": 5, "tchang": 5, "t2023": 5, "t2022": 5, "namerica": 5, "t167": 5, "045": 5, "t3": 5, "t162": 5, "560": 5, "t169": 5, "658": 5, "neurop": 5, "t101": 5, "328": 5, "t7": 5, "294": 5, "t95": 5, "118": 5, "ngreater": 5, "t66": 5, "952": 5, "t72": 5, "559": 5, "t74": 5, "njapan": 5, "t25": 5, "052": 5, "t24": 5, "257": 5, "977": 5, "nrest": 5, "t30": 5, "t4": 5, "t29": 5, "615": 5, "t1": 5, "t391": 5, "035": 5, "t2": 5, "t383": 5, "285": 5, "t394": 5, "weak": [5, 6, 8], "renminbi": 5, "yen": [5, 9], "t201": 5, "183": 5, "t200": 5, "583": 5, "t205": 5, "489": 5, "984": 5, "357": 5, "t40": 5, "177": [5, 8], "t26": 5, "694": 5, "t28": 5, "300": 5, "292": 5, "t37": 5, "005": 5, "t39": 5, "845": [5, 8], "t41": 5, "241": 5, "n96": 5, "169": 5, "t13": 5, "t85": 5, "t9": 5, "t78": 5, "129": [5, 8], "amort": 5, "bundl": 5, "flat": [5, 6], "ngross": 5, "t109": 5, "633": 5, "t108": 5, "803": 5, "t114": 5, "728": 5, "t71": 5, "t60": 5, "345": 5, "t56": 5, "054": 5, "t180": 5, "683": 5, "148": 5, "t170": 5, "782": 5, "t36": 5, "t73": 5, "t70": 5, "t46": 5, "t44": 5, "t43": 5, "noper": 5, "t31": 5, "370": 5, "t5": 5, "915": 5, "t14": 5, "251": 5, "npercentag": 5, "t8": 5, "nsell": 5, "administr": 5, "097": 5, "932": 5, "094": 5, "t6": 5, "t57": 5, "467": 5, "t54": 5, "847": 5, "t51": 5, "t15": 5, "headcount": 5, "nprovis": 5, "749": 5, "t16": 5, "741": 5, "t19": 5, "neffect": 5, "nstatutori": 5, "t21": 5, "aid": [5, 8], "nliquid": 5, "unrestrict": 5, "140": 5, "ndebt": 5, "97": [5, 6, 8], "payabl": 5, "promissori": 5, "nleas": 5, "nmanufactur": 5, "noncancel": 5, "ndeem": 5, "tcja": 5, "nstate": 5, "fund": [5, 6, 7], "escrow": 5, "ncapit": 5, "95": [5, 8], "nrecent": 5, "pronounc": 5, "nincom": 5, "fasb": 5, "asu": 5, "09": [5, 6, 8], "740": 5, "reconcili": [5, 6], "reconcil": [5, 9], "disaggreg": 5, "prospect": 5, "novemb": [5, 8], "07": [5, 6, 8, 9], "280": 5, "maker": 5, "codm": 5, "retrospect": 5, "ncritic": 5, "conform": [5, 9], "gaap": 5, "nuncertain": 5, "domest": 5, "taxat": 5, "resolut": [5, 6], "conting": 5, "ninterest": 5, "forth": 5, "hypothet": 5, "nsensit": 5, "nhypothet": 5, "nrate": 5, "npotenti": 5, "n100": 5, "tenor": 5, "ndeclin": 5, "755": 5, "089": 5, "nterm": 5, "nincreas": 5, "t139": 5, "t194": 5, "nforeign": 5, "var": 5, "mont": 5, "carlo": 5, "interv": 5, "538": 5, "669": 5, "nindex": 5, "tpage": 5, "nconsolid": 5, "n29": 5, "n30": 5, "sheet": 5, "n31": 5, "n32": 5, "n33": 5, "nnote": 5, "n34": 5, "nreport": 5, "n48": 5, "nall": 5, "omit": 5, "submiss": 5, "nyear": 5, "n2023": 5, "n2022": 5, "nnet": 5, "t294": 5, "866": 5, "t298": 5, "085": 5, "t316": 5, "199": 5, "t96": 5, "ncost": 5, "t185": 5, "233": 5, "t189": 5, "282": 5, "471": 5, "119": 5, "855": 5, "t22": 5, "075": 5, "352": 5, "t214": 5, "137": 5, "t223": 5, "546": 5, "t123": 5, "216": 5, "t119": 5, "437": 5, "t269": 5, "565": 5, "334": 5, "485": 5, "736": 5, "103": 5, "t93": 5, "995": 5, "t99": 5, "nearn": 5, "nbasic": 5, "ndilut": 5, "08": [5, 7, 9], "343": [5, 8], "783": 5, "744": 5, "215": 5, "963": 5, "095": 5, "812": 5, "547": 5, "325": 5, "819": 5, "nsee": 5, "translat": [5, 7, 8], "t395": 5, "765": 5, "511": 5, "unreal": 5, "832": 5, "t323": 5, "212": 5, "nadjust": 5, "337": 5, "717": 5, "394": 5, "138": 5, "850": 5, "563": 5, "104": 5, "t204": 5, "t253": 5, "816": 5, "899": 5, "272": 5, "t98": 5, "016": 5, "652": 5, "t88": 5, "531": 5, "nasset": 5, "ncurrent": 5, "ncash": 5, "943": 5, "965": 5, "228": 5, "590": 5, "naccount": 5, "410": 5, "508": 5, "nvendor": 5, "t32": 5, "833": 5, "477": 5, "ninventori": 5, "286": 5, "331": 5, "287": 5, "695": 5, "t152": 5, "987": 5, "t143": 5, "566": 5, "t91": 5, "479": 5, "544": 5, "t45": 5, "680": 5, "715": 5, "834": 5, "t64": 5, "758": 5, "t211": 5, "993": 5, "t209": 5, "017": 5, "t364": 5, "980": [5, 8], "t352": 5, "nliabil": 5, "t68": 5, "960": 5, "t62": 5, "611": 5, "304": 5, "t58": 5, "829": 5, "ndefer": 5, "249": 5, "061": 5, "ncommerci": 5, "967": 5, "985": 5, "t10": 5, "912": 5, "822": 5, "t176": 5, "392": 5, "t145": 5, "308": 5, "750": 5, "888": 5, "t49": 5, "848": 5, "638": 5, "t308": 5, "030": [5, 7], "t290": 5, "ncommit": 5, "nsharehold": 5, "400": [5, 6], "116": 5, "786": 5, "550": 5, "n83": 5, "276": 5, "naccumul": 5, "deficit": 5, "154": 5, "214": 5, "172": 5, "452": 5, "950": 5, "146": [5, 8], "t50": 5, "672": 5, "t63": 5, "090": 5, "nbegin": 5, "849": 5, "365": 5, "423": 5, "346": [5, 6], "175": 5, "withheld": 5, "settlement": 5, "521": 5, "971": 5, "t12": 5, "034": 5, "t11": 5, "nend": 5, "t83": 5, "nretain": 5, "068": 5, "562": 5, "ndividend": 5, "218": 5, "793": 5, "612": 5, "099": 5, "454": 5, "846": 5, "77": [5, 6, 7], "046": 5, "186": 5, "109": 5, "t163": 5, "rsu": 5, "t0": 5, "98": [5, 6, 7], "94": [5, 6, 7, 8], "737": 5, "929": 5, "ndepreci": 5, "445": 5, "519": 5, "688": 5, "038": 5, "266": 5, "227": 5, "006": 5, "788": 5, "356": 5, "271": 5, "520": 5, "618": 5, "484": 5, "731": 5, "684": 5, "499": 5, "020": 5, "889": 5, "448": 5, "552": 5, "031": 5, "t118": 5, "254": 5, "t110": 5, "543": 5, "t122": 5, "151": 5, "48": [5, 7], "656": 5, "513": 5, "76": [5, 8], "923": 5, "nproce": 5, "211": 5, "686": 5, "917": 5, "135": 5, "828": [5, 6], "446": 5, "447": 5, "959": 5, "708": 5, "086": 5, "935": 5, "705": 5, "354": 5, "nfinanc": 5, "441": 5, "431": 5, "223": [5, 8], "234": [5, 8], "025": 5, "841": 5, "nrepurchas": 5, "949": 5, "89": [5, 8], "402": 5, "465": 5, "nrepay": 5, "958": 5, "repay": 5, "978": [5, 6], "955": 5, "361": 5, "581": 5, "160": 5, "121": 5, "983": 5, "488": 5, "794": 5, "760": 5, "nsupplement": 5, "102": 5, "t18": 5, "679": 5, "573": 5, "33": [5, 6, 7, 8], "nbasi": 5, "prior": [5, 8], "reclassifi": 5, "nrevenu": 5, "remit": [5, 8], "straight": 5, "vest": 5, "sold": 5, "nderiv": 5, "nonleas": 5, "34": [5, 6, 8], "entitl": 5, "commenc": 5, "deliveri": 5, "stand": 5, "ssp": 5, "icloud": 5, "siri": 5, "discount": 5, "undeliv": 5, "unbil": 5, "n26": 5, "n37": 5, "moder": [5, 7], "64": [5, 7, 8], "dilut": 5, "nnumer": 5, "ndenomin": 5, "nweight": 5, "312": 5, "316": 5, "856": 5, "antidilut": 5, "tunreal": 5, "ngain": 5, "tfair": 5, "nvalu": 5, "tcash": 5, "nequival": 5, "tcurrent": 5, "tnon": 5, "t27": 5, "nlevel": 5, "nmonei": 5, "t778": 5, "nmutual": 5, "n515": 5, "t105": 5, "t617": 5, "nsubtot": 5, "293": 5, "395": 5, "nu": 5, "treasuri": 5, "516": 5, "t212": 5, "087": 5, "380": 5, "159": 5, "t703": 5, "t17": 5, "568": 5, "158": 5, "810": 5, "ncertif": 5, "deposit": 5, "t873": 5, "t387": 5, "t478": 5, "066": 5, "ncorpor": 5, "t65": 5, "622": 5, "t270": 5, "953": 5, "939": 5, "027": 5, "t47": 5, "886": 5, "nmunicip": 5, "t412": 5, "t405": 5, "t190": 5, "nmortgag": 5, "595": 5, "t175": 5, "403": 5, "t23": 5, "367": 5, "278": [5, 8], "t132": 5, "t583": 5, "635": 5, "t128": 5, "056": 5, "966": 5, "t34": 5, "t160": 5, "t688": 5, "650": 5, "36": [5, 6, 7, 8], "359": [5, 8], "t481": 5, "n442": 5, "t428": 5, "t923": 5, "t909": 5, "406": 5, "114": 5, "468": 5, "136": 5, "t271": 5, "533": 5, "048": [5, 7], "491": 5, "332": 5, "t320": 5, "t608": 5, "t76": 5, "840": 5, "956": 5, "890": 5, "t20": 5, "627": 5, "243": 5, "t628": 5, "t602": 5, "t192": 5, "t410": 5, "735": 5, "636": 5, "t344": 5, "t144": 5, "470": 5, "657": 5, "831": 5, "125": 5, "162": 5, "t173": 5, "752": 5, "corrobor": 5, "mortgag": [5, 6], "classifi": [5, 8], "37": [5, 7, 8], "swap": 5, "remeasur": 5, "notion": 5, "069": 5, "730": 5, "575": 5, "493": 5, "t104": 5, "777": 5, "nhedg": 5, "433": 5, "505": 5, "247": [5, 8], "ntrade": 5, "41": [5, 7, 8], "44": [5, 8], "depreci": 5, "nland": 5, "690": 5, "nmachineri": 5, "t80": 5, "205": [5, 7], "314": 5, "nleasehold": 5, "839": 5, "599": 5, "73": [5, 7, 8], "884": 5, "852": 5, "t55": 5, "906": 5, "601": 5, "703": 5, "010": 5, "457": 5, "634": 5, "391": 5, "neuropean": 5, "opinion": [5, 6, 8], "1991": 5, "2007": 5, "irish": 5, "branch": 5, "2003": 5, "2014": [5, 6], "2015": 5, "minist": 5, "juli": [5, 8], "annul": 5, "ecj": 5, "hear": 5, "asid": 5, "confirm": 5, "unrecogn": [5, 6], "nfeder": 5, "571": 5, "080": 5, "644": 5, "265": 5, "801": 5, "726": 5, "570": 5, "298": 5, "49": [5, 6, 8], "t84": 5, "428": 5, "603": 5, "483": [5, 8], "t347": 5, "t669": 5, "076": 5, "830": 5, "419": 5, "072": 5, "pretax": 5, "72": [5, 6, 8], "ncomput": 5, "885": 5, "012": 5, "124": 5, "518": 5, "nimpact": 5, "246": 5, "311": 5, "366": 5, "397": 5, "nexcess": 5, "893": 5, "871": 5, "192": [5, 8], "739": 5, "ntax": 5, "carryforward": 5, "302": 5, "naccru": 5, "413": [5, 8], "421": 5, "nunreal": 5, "173": 5, "168": 5, "873": 5, "743": 5, "nless": 5, "374": 5, "007": 5, "369": 5, "551": 5, "998": 5, "nright": 5, "179": 5, "nminimum": 5, "674": 5, "940": 5, "t511": 5, "t455": 5, "t490": 5, "805": 5, "202": 5, "indefinit": 5, "temporari": 5, "727": 5, "044": 5, "284": 5, "ndecreas": 5, "386": 5, "463": 5, "982": 5, "542": 5, "936": 5, "070": 5, "expir": 5, "statut": 5, "229": 5, "494": 5, "closur": 5, "intercompani": 5, "exceed": [5, 8], "multiyear": 5, "exercis": 5, "noncash": 5, "rou": 5, "tfinanci": 5, "t2024": 5, "tother": 5, "661": 5, "tproperti": 5, "015": 5, "303": 5, "676": 5, "t165": 5, "t752": 5, "t859": 5, "430": 5, "842": [5, 8], "tfinanc": 5, "n2025": 5, "820": 5, "t171": 5, "991": 5, "n2026": 5, "914": 5, "n2027": 5, "t59": 5, "733": 5, "n2028": 5, "360": 5, "t38": 5, "398": 5, "n2029": 5, "187": 5, "nthereaft": 5, "t837": 5, "undiscount": 5, "790": 5, "imput": 5, "376": 5, "534": 5, "t896": 5, "borrow": 5, "proce": 5, "nine": [5, 8], "nmatur": 5, "333": 5, "264": 5, "948": 5, "645": 5, "309": 5, "arrear": 5, "namount": 5, "n2013": 5, "nfix": 5, "2062": 5, "t97": 5, "341": 5, "03": [5, 6], "65": [5, 8], "t106": 5, "572": 5, "n97": 5, "nunamort": 5, "321": 5, "358": 5, "113": 5, "662": 5, "930": 5, "342": 5, "800": 5, "180": 5, "88": [5, 6], "ndure": 5, "425": 5, "426": 5, "372": 5, "589": 5, "055": 5, "appreci": 5, "four": [5, 6, 7, 8], "holder": [5, 7], "n2014": 5, "bonu": 5, "nrestrict": 5, "nnumber": 5, "nrsu": 5, "ngrant": 5, "naggreg": 5, "nfair": 5, "nbalanc": 5, "t240": 5, "427": [5, 8], "t75": 5, "t150": 5, "861": 5, "501": 5, "768": 5, "87": [5, 6, 7, 8], "101": [5, 8], "878": 5, "144": 5, "t127": 5, "t135": 5, "91": [5, 8], "456": 5, "78": [5, 7, 8], "59": [5, 8], "t140": 5, "326": 5, "t158": 5, "204": 5, "350": 5, "002": [5, 7], "nuncondit": 5, "uncondit": 5, "206": 5, "440": 5, "156": 5, "t633": 5, "t670": 5, "226": 5, "45": 5, "nconting": 5, "accrual": 5, "nconcentr": 5, "attribut": [5, 6, 7, 8, 9], "46": 5, "t67": 5, "098": 5, "082": 5, "062": 5, "569": 5, "895": 5, "458": 5, "207": 5, "nonrecur": 5, "t142": 5, "196": 5, "t138": 5, "t147": 5, "859": 5, "nchina": 5, "n66": 5, "t181": 5, "887": 5, "t172": 5, "269": 5, "nlong": 5, "664": 5, "797": 5, "778": 5, "219": 5, "nopinion": 5, "nwe": 5, "fairli": 5, "pcaob": 5, "sponsor": 5, "treadwai": 5, "2013": 5, "unqualifi": [5, 6], "thereon": 5, "nthese": 5, "misstat": 5, "fraud": [5, 8], "ndescript": 5, "naudit": 5, "nhow": 5, "nmatter": 5, "qualifi": 5, "letter": [5, 6], "advisor": 5, "ernst": 5, "llp": 5, "auditor": [5, 6], "2009": 5, "nsan": 5, "jose": 5, "nnovemb": 5, "coso": 5, "nour": 5, "ndefinit": 5, "disposit": 5, "receipt": 5, "nevalu": 5, "nbase": 5, "supervis": [5, 7, 8, 9], "13a": 5, "15d": 5, "ninher": 5, "paragraph": 5, "51": [5, 8, 9], "ninsid": 5, "deirdr": 5, "brien": 5, "vice": 5, "presid": 5, "affirm": 5, "april": 5, "withhold": 5, "remitt": 5, "mr": 5, "copi": [5, 6], "solicit": 5, "00042": 5, "nincorpor": 5, "texhibit": 5, "descript": [5, 6, 7, 8, 9], "tform": 5, "tfile": 5, "nrestat": 5, "namend": 5, "bylaw": 5, "nindentur": 5, "york": [5, 6, 7, 9], "mellon": 5, "truste": 5, "noffic": 5, "certif": 5, "2018": 5, "85": [5, 7, 8], "05": [5, 6], "2044": 5, "februari": 5, "2045": 5, "900": 5, "700": [5, 7], "250": [5, 8], "2036": 5, "2046": 5, "450": 5, "2047": 5, "2049": 5, "2030": 5, "2050": 5, "2060": 5, "2028": 5, "2041": 5, "2061": 5, "2032": 5, "2052": 5, "54": [5, 6], "2033": 5, "2053": 5, "n12": 5, "nsubsidiari": 5, "n23": 5, "nconsent": 5, "n24": 5, "npower": 5, "signatur": 5, "nrule": 5, "nsection": 5, "1350": 5, "n101": 5, "ninlin": 5, "xbrl": 5, "n104": 5, "inlin": 5, "compensatori": 5, "herewith": 5, "furnish": 5, "herebi": 5, "undertak": 5, "56": [5, 7, 8], "nsignatur": 5, "npursuant": 5, "duli": 5, "undersign": 5, "thereunto": 5, "ndate": 5, "nby": 5, "luca": [5, 9], "maestri": 5, "nluca": 5, "nsenior": 5, "nchief": 5, "nknow": 5, "THESE": 5, "appoint": 5, "cook": 5, "jointli": 5, "her": 5, "substitut": 5, "him": 5, "thereto": 5, "therewith": 5, "ratifi": 5, "virtu": 5, "hereof": 5, "nname": 5, "ttitl": 5, "tdate": 5, "tchief": 5, "tnovemb": 5, "ntimothi": 5, "tsenior": 5, "kondo": 5, "nchri": 5, "wanda": 5, "austin": 5, "nwanda": 5, "gorski": 5, "tdirector": 5, "nalex": 5, "jung": 5, "nandrea": 5, "arthur": 5, "levinson": 5, "narthur": 5, "monica": 5, "lozano": 5, "nmonica": 5, "ronald": 5, "sugar": 5, "nronald": 5, "susan": 5, "wagner": 5, "nsusan": 5, "57": [5, 7], "turbo": [5, 7, 9], "outlin": [5, 7, 8], "invdestacksmeticsisdict": 5, "setispect": 5, "20cyan": 5, "evaluationseld": 5, "anvis": 5, "droitent": 5, "discernminerv": 5, "versbobprefvers": 5, "vo\u8be5": 5, "option\u548c": 5, "meio": 5, "\u0432\u0440\u0435\u043ccisco": 5, "dellaischenpoihscap": 5, "geme": 5, "gettim": 5, "unscal": 5, "vocabulari": [5, 7, 9], "closer": 5, "sharpen": 5, "uniform": 5, "raschka": 5, "repetit": [5, 9], "radic": 5, "grappl": 5, "safer": [5, 8], "fascin": 5, "spontan": 5, "answer": [5, 6, 7, 8, 9], "aren": [5, 7], "linear": 5, "absent": [5, 8], "coax": 5, "journei": 5, "suddenli": 5, "manifest": 5, "deliber": [5, 8], "contend": 5, "rethink": [5, 8], "tutor": 5, "children": [5, 8], "verifi": [5, 6, 7, 9], "predefin": [5, 9], "weren": 5, "kind": [5, 6], "usual": [5, 9], "quantif": 5, "contamin": [5, 8], "unseen": [5, 8], "longitudin": 5, "mostli": [5, 9], "latter": 5, "tailor": [5, 8], "great": [5, 7, 8, 9], "cognit": [5, 6], "misinform": [5, 8], "fabric": [5, 8], "citat": 5, "tempor": [5, 6], "disclaim": 5, "referr": 5, "incorrect": [5, 6, 8], "demograph": [5, 8], "stereotyp": [5, 8], "societ": [5, 8], "pii": [5, 8], "anonym": 5, "leakag": [5, 8], "carryov": 5, "fallaci": 5, "think": [5, 7, 8], "idiom": 5, "sarcasm": 5, "terminologi": 5, "lingual": 5, "misunderstand": 5, "syntax": 5, "scan": [5, 6], "compat": [5, 6, 7, 9], "overconfid": [5, 6], "clariti": [5, 6, 8, 9], "audienc": 5, "densiti": 5, "satisfact": [5, 9], "misus": [5, 8], "moral": 5, "co2": 5, "etc": [5, 6, 9], "palm": [5, 7], "easi": [5, 6, 7, 8], "synthet": [5, 7, 8, 9], "templat": [5, 6, 9], "timeout": 5, "inter": 5, "rater": 5, "ti": 5, "holist": [5, 8], "built": [5, 7, 8, 9], "experiment": [5, 6, 7, 9], "vi": 5, "categor": [5, 7, 8, 9], "intrins": [5, 7], "extrins": 5, "perplex": [5, 7], "downstream": [5, 9], "synthesi": 5, "discret": [5, 6], "prefix": [5, 8], "roug": 5, "bleu": 5, "bilingu": 5, "understudi": 5, "overlap": [5, 6], "favor": [5, 7, 9], "breviti": 5, "insensit": 5, "semant": [5, 6, 9], "orient": [5, 8], "gist": 5, "meteor": 5, "synonym": 5, "paraphras": 5, "alongsid": [5, 8], "computation": [5, 6], "cider": 5, "consensu": 5, "tf": 5, "idf": 5, "caption": 5, "reliant": [5, 6], "corpu": [5, 6, 7], "ter": 5, "edit": [5, 8], "hypothesi": 5, "penal": 5, "bertscor": 5, "contextu": [5, 8], "bert": 5, "spice": 5, "proposit": [5, 7], "scene": [5, 6, 8], "analyst": [5, 6], "rouge_1": 5, "rouge_2": 5, "ideal": [5, 6, 7, 8, 9], "setup": [5, 7, 8, 9], "evaluate_summari": 5, "unigram": 5, "bigram": 5, "absl": 5, "py": [5, 9], "rouge_scor": 5, "generated_summari": 5, "reference_summari": 5, "google_bleu": 5, "bleu_scor": 5, "rouge1": 5, "rouge2": 5, "arbitrari": 5, "chosen": [5, 8], "sentence1": 5, "cat": [5, 8], "sat": 5, "mat": 5, "sentence2": 5, "ate": 5, "3333333333333333": 5, "7272727272727272": 5, "4444444444444445": 5, "generate_summari": 5, "summir": 5, "liner": 5, "evaluate_summary_model": 5, "model_benchmark": 5, "models_test": 5, "benchmark_summari": 5, "model_summari": 5, "evaluation_result": 5, "statu": 5, "concis": [5, 7], "element": [5, 6, 8, 9], "verbos": [5, 6, 7, 8, 9], "peripher": 5, "quit": [5, 6, 7, 9], "convei": 5, "breadth": 5, "Of": [5, 7, 8], "vibe": 5, "visualize_prompt_comparison": 5, "matplotlib": 5, "radar": 5, "plot": 5, "radar_plot": 5, "tmp": 5, "ipykernel_1652501": 5, "940173201": 5, "userwarn": [5, 9], "figurecanvasagg": 5, "largest": [5, 7], "sarmah": 5, "granular": [5, 6, 7], "likert": 5, "ensembl": 5, "repeatedli": [5, 6], "fluenci": 5, "refin": 5, "integ": [5, 9], "rubric": 5, "hollist": 5, "judgeevalu": 5, "grammar": [5, 7, 9], "evaluate_with_llm": 5, "criterion": 5, "judge_model": 5, "candidate_summari": 5, "grammat": 5, "y": [5, 6, 8, 9], "z": 5, "w": [5, 6, 7, 8], "benchmark_model": 5, "test_model": 5, "input_text": [5, 6, 7], "trillion": [5, 7, 9], "evals_list": 5, "1775618912": 5, "slightli": 5, "drift": [5, 8], "lowest": [5, 7], "firstli": 5, "overhead": [5, 7], "egocentr": 5, "tight": 5, "medicin": [5, 6, 8], "glider": 5, "deshpand": 5, "3b": 5, "685": 5, "aplic": 5, "golden": 5, "earlier": [5, 8], "depict": [5, 8, 9], "multilingu": [5, 7, 8], "arena": 5, "randomli": 5, "customiz": [5, 7, 8], "irrelev": [5, 6], "unhelp": [5, 8], "occasion": 5, "rare": 5, "perfectli": 5, "cater": [5, 7], "critiqu": [5, 8], "elo": 5, "exam": 5, "probe": [5, 8], "certifi": 5, "glue": 5, "entail": [5, 7], "superglu": 5, "successor": 5, "grew": 5, "big": [5, 7], "bench": [5, 7], "srivastava": 5, "truthfulqa": [5, 7], "multitask": 5, "hendryck": [5, 8], "multidisciplinari": 5, "stanford": 5, "helm": 5, "multidimension": 5, "surround": [5, 7, 8, 9], "humanev": [5, 7], "lmsy": 5, "brought": 5, "dialogu": [5, 7], "chiang": 5, "gather": 5, "hundr": [5, 7], "alpacaev": 5, "duboi": 5, "mt": 5, "argilla": 5, "mila": 5, "mit": [5, 7], "contributor": [5, 7, 9], "western": 5, "centric": 5, "divid": [5, 6, 8], "subset": [5, 8], "agnost": 5, "dialect": 5, "render": [5, 8], "crowdsourc": 5, "livebench": 5, "white": [5, 8], "resili": [5, 6, 8], "meaningfulli": 5, "satur": 5, "zebralog": 5, "grid": 5, "puzzl": 5, "brailsford": 5, "1999": 5, "lsat": 5, "hous": 5, "clue": 5, "deduct": 5, "programmat": [5, 9], "2x2": 5, "6x6": 5, "shot": [5, 8, 9], "reductio": 5, "ad": [5, 6, 7, 9], "absurdum": 5, "hard": [5, 6], "10b": 5, "counterfactu": 5, "mileston": [5, 7], "came": 5, "arc": 5, "prize": [5, 8], "chollet": 5, "mike": [5, 6, 8], "knoop": 5, "founder": 5, "zapier": 5, "fran\u00e7oi": 5, "creator": [5, 7], "kera": 5, "genuin": 5, "agi": 5, "possess": [5, 6], "elementari": 5, "novelti": 5, "interpol": 5, "synthes": [5, 6], "fly": 5, "brute": [5, 6], "pixel": 5, "color": [5, 6], "unbeaten": 5, "win": [5, 7], "takeawai": 5, "vertic": [5, 8], "finbench": 5, "legalbench": 5, "guha": 5, "berkelei": [5, 8], "bfcl": 5, "patil": 5, "fourrier": 5, "bespok": 5, "sdk": 5, "autoregress": 5, "sub": [5, 7], "liter": 5, "disturb": 5, "zero": [5, 7, 8, 9], "varianc": [5, 8], "yt": 5, "ut": 5, "ol": 5, "heteroscedast": 5, "regress": 5, "wish": 5, "bivari": 5, "evaluationtrack": 5, "pipelineparamet": 5, "cache_dir": 5, "max_sampl": 5, "basemodelconfig": 5, "evaluation_track": 5, "model_config": 5, "parallelismmanag": 5, "envconfig": 5, "is_accelerate_avail": 5, "datetim": [5, 6], "timedelta": [5, 6], "initprocessgroupkwarg": 5, "create_evaluation_pipelin": 5, "float16": 5, "kwargs_handl": 5, "3000": 5, "save_detail": 5, "pipeline_param": 5, "launcher_typ": 5, "env_config": 5, "override_batch_s": 5, "use_chat_templ": 5, "trust_remote_cod": 5, "pipeline_paramet": 5, "schemat": [5, 6], "vllm": [5, 9], "tgi": 5, "num_few_shot": 5, "bar": 5, "bigbench": 5, "winogrand": 5, "hellaswag": 5, "nlp": [5, 6, 7, 8], "save_and_push_result": 5, "show_result": 5, "model_arg": 5, "send": [5, 6, 7, 8, 9], "serverless": 5, "inference_server_address": 5, "inference_server_auth": 5, "model_id": 5, "null": 5, "bash": [5, 7], "command": [5, 6, 7], "model_config_path": 5, "endpoint_model": 5, "llama3": 5, "qwen2": [5, 7, 9], "alibaba": [5, 7, 9], "5b": [5, 7, 9], "hui": [5, 7], "allal": [5, 7], "cluster": [5, 6], "noteworthi": [5, 7], "superior": [5, 6, 8], "grain": [5, 6, 7, 9], "salt": [5, 9], "modular": 5, "offici": 5, "revisit": 5, "langchain": [5, 6], "trace": [5, 6], "langchain_tracing_v2": 5, "langchain_api_kei": 5, "hf_evalu": 5, "langsmith_evalu": 5, "ls_client": 5, "dataset_nam": 5, "create_dataset": 5, "create_exampl": 5, "dataset_id": 5, "calculate_scor": 5, "reference_output": 5, "oai_client": 5, "xp_model_nam": 5, "lastli": 5, "run_evalu": 5, "And": [5, 6, 7, 8], "upload_result": 5, "experiment_prefix": 5, "num_repetit": 5, "386a3620": 5, "9e1cc3cb": 5, "9d6a": 5, "4356": 5, "ab34": 5, "138e0abe8be4": 5, "8741976e": 5, "5268": 5, "4b75": 5, "949f": 5, "99477dde5d64": 5, "selectedsess": 5, "b831dc1e": 5, "90bc": 5, "4ed8": 5, "8080": [5, 7], "fb42444724d6": 5, "4it": 5, "latest": [5, 6, 7, 8, 9], "tobia": [5, 9], "evaluate_modul": 5, "6fc70b7be0088120a372dfdd5d320b39b8bb3630cb8029b193941d9376e86bb0": 5, "tue": 5, "nov": [5, 7], "couldn": 5, "5it": 5, "5053784e": 5, "64445871": 5, "a53c": 5, "44b1": 5, "a422": 5, "4f49b2f9656f": 5, "69": [5, 8], "4b29f3c9": 5, "9ef7e39a": 5, "2add": 5, "410c": 5, "89f8": 5, "9f1a8b198cf1": 5, "61": [5, 8], "insert": [5, 6], "combined_df": 5, "concat": [5, 8], "ignore_index": [5, 8], "execution_tim": 5, "example_id": 5, "333333": 5, "224388": 5, "feb10f92": 5, "3167": 5, "41f3": 5, "bb1c": 5, "d271153a31a8": 5, "5b196b22": 5, "9f4c": 5, "489c": 5, "b020": 5, "7823208b42d6": 5, "348101": 5, "722464": 5, "c310f159": 5, "064a": 5, "4035": 5, "97c3": 5, "a25bbf43abc2": 5, "386076": 5, "704104": 5, "f7f24899": 5, "dd50": 5, "409e": 5, "93cc": 5, "6fb1622b60bf": 5, "443038": 5, "725059": 5, "242856d6": 5, "efb5": 5, "4101": 5, "b1cf": 5, "5805532838ac": 5, "373418": 5, "795302": 5, "ce975169": 5, "a0ab": 5, "40ce": 5, "8e32": 5, "efa28d06079d": 5, "stat": [5, 7], "groupbi": [5, 8], "agg": [5, 8], "sort": 5, "sort_valu": 5, "subplot": 5, "pyplot": 5, "plt": 5, "ax1": 5, "ax2": 5, "figsiz": 5, "2ecc71": 5, "3498db": 5, "e74c3c": 5, "bleu_mean": 5, "bleu_std": 5, "enumer": [5, 6, 8], "errorbar": 5, "yerr": 5, "fmt": 5, "markers": 5, "capsiz": 5, "set_ylabel": 5, "set_titl": 5, "set_xtick": 5, "set_xticklabel": 5, "rotat": 5, "set_ylim": 5, "bottom": [5, 6], "legend": 5, "exec_mean": 5, "exec_std": 5, "tight_layout": 5, "ndetail": 5, "4038": 5, "0453": 5, "7815": 5, "0433": 5, "3768": 5, "0424": 5, "8343": 5, "2208": 5, "3519": 5, "0775": 5, "9122": 5, "1482": 5, "377": 5, "042": 5, "078": 5, "slower": [5, 6, 8], "04": [5, 7], "interestingli": 5, "decoupl": 5, "reload": 5, "facilit": [5, 8], "promptfooconfig": 5, "model_comparison": 5, "pretti": [5, 8], "dump": 5, "default_flow_styl": 5, "sort_kei": 5, "prompt1": 5, "defaulttest": 5, "ye": [5, 6, 7, 8, 9], "1000m": 5, "eval_data": 5, "latency_m": 5, "totallatencym": 5, "token_usag": 5, "tokenusag": 5, "assert_pass": 5, "assertpasscount": 5, "assert_fail": 5, "assertfailcount": 5, "prompt_token": [5, 7], "num_request": 5, "numrequest": 5, "num": 5, "2463": 5, "000035": 5, "3773": 5, "004620": 5, "1669": 5, "000091": 5, "1669m": 5, "highest": [5, 6, 7, 9], "3773m": 5, "00462": 5, "promptfool": 5, "manual": [5, 6, 7, 8], "redefin": 5, "prompt_comparison": 5, "prompt2": 5, "prompt3": 5, "prompt_fil": 5, "prompt_cont": 5, "BE": 5, "again": 5, "prompt_id": 5, "promptid": 5, "gradingresult": 5, "df_raw": 5, "reset_index": [5, 8], "poorli": 5, "eas": [5, 7, 8, 9], "hf": [5, 7], "plain": [5, 6, 7], "vanilla": 5, "defi": 5, "accustom": 5, "legaci": 5, "unsustain": 5, "prd": 5, "cultiv": [5, 8], "organiz": 5, "alb": [5, 7], "loubna": [5, 7], "anton": [5, 7], "lozhkov": [5, 7], "bakouch": [5, 7], "gabriel": [5, 7, 8], "mart\u00edn": [5, 7, 8], "bl\u00e1zquez": [5, 7], "lewi": [5, 6, 7], "tunstal": [5, 7], "agust\u00edn": [5, 7], "piquer": [5, 7], "andr": [5, 6, 7], "marafioti": [5, 7], "cyril": [5, 7], "zakka": [5, 7], "leandro": [5, 7], "werra": [5, 7], "wolf": [5, 7], "are24": 5, "judgearena": 5, "bps99": 5, "salli": 5, "pott": 5, "barbara": 5, "557": [5, 8], "sciencedirect": 5, "s0377221798003646": 5, "doi": [5, 6, 8, 9], "1016": 5, "s0377": 5, "2217": 5, "00364": 5, "ctj": 5, "jerri": [5, 8], "tworek": [5, 8], "heewoo": [5, 8], "jun": [5, 8], "qime": [5, 8], "henriqu": [5, 8], "pond": [5, 8], "de": [5, 8], "oliveira": [5, 8], "pinto": [5, 8], "harri": [5, 8], "yuri": 5, "burda": 5, "greg": [5, 8], "brockman": [5, 8], "raul": [5, 8], "puri": [5, 8], "gretchen": [5, 8], "krueger": [5, 8], "petrov": [5, 8], "heidi": 5, "khlaaf": 5, "girish": [5, 8], "sastri": [5, 8], "brook": [5, 8], "chan": [5, 8], "grai": [5, 8], "ryder": [5, 8], "mikhail": [5, 8], "pavlov": [5, 8], "alethea": [5, 8], "lukasz": 5, "kaiser": [5, 8], "mohammad": [5, 8], "bavarian": [5, 8], "clemen": [5, 8], "winter": [5, 8], "philipp": 5, "tillet": [5, 8], "felip": [5, 8], "petroski": [5, 8], "dave": [5, 8], "cum": [5, 8], "plappert": 5, "fotio": 5, "chantzi": [5, 8], "barn": 5, "ariel": 5, "herbert": 5, "voss": [5, 8], "hebgen": 5, "guss": 5, "nichol": 5, "paino": [5, 8], "nikola": [5, 8], "tezak": [5, 8], "babuschkin": [5, 8], "suchir": [5, 8], "balaji": [5, 8], "shantanu": [5, 8], "jain": [5, 8], "hess": [5, 8], "carr": 5, "josh": [5, 8], "achiam": [5, 8], "vedant": 5, "misra": 5, "evan": [5, 7, 8], "morikawa": [5, 8], "matthew": 5, "knight": [5, 8], "mile": [5, 8], "brundag": [5, 8], "mira": [5, 8], "murati": [5, 8], "kati": [5, 8], "mayer": [5, 8], "bob": [5, 8, 9], "mcgrew": [5, 8], "ilya": [5, 8], "sutskev": [5, 8], "wojciech": [5, 8], "zaremba": [5, 8], "2107": 5, "03374": 5, "cz": 5, "lianmin": 5, "ying": 5, "sheng": 5, "anastasio": 5, "angelopoulo": 5, "tianl": 5, "dacheng": 5, "banghua": 5, "jordan": [5, 8], "gonzalez": 5, "ion": 5, "stoica": 5, "04132": 5, "cho24a": 5, "francoi": 5, "arcpriz": 5, "cho24b": 5, "drcw": 5, "darshan": 5, "selvan": 5, "sunitha": 5, "ravi": 5, "sky": 5, "ch": 5, "bartosz": 5, "mielczarek": 5, "anand": [5, 8], "kannappan": [5, 8], "qian": [5, 8], "14140": 5, "dglh24": 5, "yann": 5, "bal\u00e1z": 5, "galambosi": 5, "tatsunori": 5, "hashimoto": 5, "debia": 5, "04475": 5, "fhwt23": 5, "cl\u00e9mentin": 5, "nathan": 5, "habib": 5, "gnh": 5, "julian": 5, "nyarko": 5, "ho": 5, "r\u00e9": 5, "adam": [5, 8], "chilton": 5, "aditya": [5, 8], "narayana": 5, "chohla": 5, "brandon": [5, 8, 9], "waldon": 5, "rockmor": 5, "diego": 5, "zambrano": 5, "dmitri": 5, "talisman": 5, "enam": 5, "hoqu": 5, "faiz": 5, "surani": 5, "frank": [5, 8], "fagan": 5, "galit": 5, "sarfati": 5, "gregori": 5, "dickinson": 5, "haggai": 5, "porat": 5, "hegland": 5, "jessica": [5, 8], "joe": [5, 8], "nudel": 5, "joel": [5, 8], "niklau": 5, "nai": 5, "choi": 5, "margaret": [5, 7], "hagan": 5, "megan": 5, "livermor": 5, "nikon": 5, "rasumov": 5, "rahe": 5, "nil": 5, "holzenberg": 5, "noam": 5, "kolt": 5, "henderson": 5, "rehaag": 5, "sharad": 5, "shang": 5, "spencer": 5, "sunni": 5, "gandhi": 5, "zur": 5, "varun": 5, "iyer": [5, 8], "zehua": 5, "2308": 5, "11462": 5, "hbb": 5, "collin": 5, "burn": 5, "steven": [5, 8], "basart": [5, 8], "zou": [5, 8], "manta": [5, 8], "mazeika": [5, 8], "03300": 5, "hbd": 5, "maxwel": 5, "forb": 5, "yejin": 5, "curiou": 5, "neural": [5, 9], "degener": 5, "1904": 5, "09751": 5, "hug24a": 5, "wiki": [5, 9], "hug24b": 5, "hug24c": 5, "model_doc": 5, "hug24d": 5, "cookbook": [5, 6], "llm_judg": 5, "hug24f": 5, "hyc": [5, 7], "binyuan": [5, 7], "zeyu": [5, 7], "cui": [5, 7], "jiaxi": [5, 7], "dayiheng": [5, 7], "tianyu": [5, 7], "jiajun": [5, 7], "kai": [5, 6, 7, 8], "dang": [5, 7], "coder": [5, 7], "preprint": [5, 7, 9], "2409": [5, 7, 8], "12186": [5, 7], "lx": 5, "zhen": 5, "xiaohan": 5, "jia": [5, 6], "yuxuan": 5, "lai": 5, "chongyang": 5, "shuai": 5, "nlg": 5, "07103": 5, "lbl": 5, "bommasani": 5, "toni": 5, "dimitri": 5, "tsipra": 5, "dilara": 5, "soylu": 5, "michihiro": 5, "yasunaga": 5, "yian": 5, "deepak": 5, "narayanan": 5, "yuhuai": 5, "newman": 5, "binhang": 5, "bobbi": 5, "ce": 5, "christian": [5, 8], "cosgrov": 5, "acosta": 5, "nava": [5, 8], "drew": 5, "hudson": 5, "zelikman": 5, "esin": 5, "durmu": 5, "faisal": 5, "ladhak": 5, "frieda": 5, "rong": [5, 6], "ren": [5, 7], "huaxiu": 5, "yao": [5, 8, 9], "jue": 5, "keshav": 5, "santhanam": 5, "laurel": 5, "lucia": 5, "mert": 5, "yuksekgonul": 5, "mirac": 5, "suzgun": 5, "niladri": 5, "chatterji": 5, "omar": [5, 6], "khattab": [5, 6], "chi": [5, 6, 8, 9], "sang": [5, 8], "shibani": [5, 8], "santurkar": [5, 8], "surya": 5, "icard": 5, "tianyi": 5, "vishrav": 5, "chaudhari": 5, "xuechen": 5, "yuhui": 5, "yuta": 5, "koreeda": 5, "2211": 5, "09110": 5, "lbc24": 5, "ronan": 5, "bra": 5, "allenai": 5, "lhe22": [5, 7, 8], "stephani": [5, 7, 8], "owain": [5, 7, 8], "mimic": [5, 7, 8], "falsehood": [5, 7, 8], "2109": [5, 7, 8], "07958": [5, 7, 8], "pzwg23": 5, "shishir": 5, "tianjun": 5, "xin": [5, 8], "gorilla": 5, "15334": 5, "pro24": 5, "dev": [5, 6], "ras24": 5, "sebastian": [5, 6], "scratch": 5, "1633437166": 5, "sll": 5, "bhaskarjit": 5, "mingshu": 5, "jingrao": 5, "lyu": 5, "nathalia": 5, "castellano": 5, "pasquali": 5, "dhagash": 5, "12148": 5, "srf": 5, "shivalika": 5, "angelika": 5, "roman": [5, 8], "adelani": 5, "ngui": 5, "vila": 5, "suero": 5, "peerat": 5, "limkonchotiwat": 5, "kelli": 5, "marchisio": 5, "qi": [5, 6], "leong": 5, "yosephin": 5, "susanto": 5, "raymond": [5, 8], "ng": [5, 8], "shayn": 5, "longpr": 5, "ko": 5, "madelin": 5, "antoin": 5, "bosselut": 5, "oh": 5, "leshem": 5, "choshen": 5, "daphn": 5, "ippolito": 5, "enzo": [5, 9], "ferrant": 5, "marzieh": 5, "fadae": 5, "beyza": 5, "ermi": 5, "sara": 5, "hooker": 5, "linguist": [5, 6, 8], "03304": 5, "srr": 5, "aarohi": 5, "abhinav": [5, 6], "rastogi": 5, "abhishek": 5, "rao": 5, "abu": 5, "awal": 5, "shoeb": 5, "abubakar": 5, "abid": [5, 7], "fisch": 5, "santoro": 5, "gupta": 5, "adri\u00e0": 5, "garriga": 5, "alonso": 5, "agnieszka": 5, "kluska": 5, "aitor": 5, "lewkowycz": 5, "akshat": 5, "warstadt": 5, "alexand": [5, 8, 9], "kocurek": 5, "ali": [5, 8], "safaya": 5, "tazarv": 5, "aman": 5, "hussain": 5, "dsouza": 5, "ambros": 5, "slone": 5, "ameet": 5, "rahan": 5, "anantharaman": 5, "ander": 5, "andreassen": 5, "madotto": 5, "santilli": 5, "stuhlm\u00fcller": 5, "la": 5, "lampinen": 5, "angelica": 5, "anh": 5, "vuong": 5, "animesh": 5, "gottardi": 5, "antonio": 5, "norelli": 5, "anu": 5, "venkatesh": 5, "arash": 5, "gholamidavoodi": 5, "arfa": 5, "tabassum": 5, "arul": 5, "menez": 5, "arun": [5, 8], "kirubarajan": 5, "asher": 5, "mullokandov": 5, "ashish": 5, "sabharw": 5, "herrick": 5, "avia": 5, "efrat": 5, "aykut": 5, "erdem": 5, "ayla": 5, "karaka\u015f": 5, "bao": [5, 7, 8], "loe": 5, "barret": [5, 8], "zoph": [5, 8], "bart\u0142omiej": 5, "bojanowski": 5, "batuhan": 5, "\u00f6zyurt": 5, "behnam": 5, "hedayatnia": 5, "neyshabur": 5, "inden": 5, "benno": 5, "stein": 5, "berk": 5, "ekmekci": 5, "blake": 5, "howald": 5, "bryan": 5, "orinion": 5, "diao": 5, "dour": 5, "stinson": 5, "cedrick": 5, "argueta": 5, "c\u00e9sar": 5, "ferri": 5, "ram\u00edrez": 5, "chandan": 5, "charl": 5, "rathkopf": 5, "chenlin": 5, "meng": 5, "chitta": 5, "baral": 5, "chiyu": 5, "callison": 5, "burch": 5, "voigt": 5, "cindi": 5, "ramirez": 5, "clara": 5, "rivera": 5, "clemencia": 5, "siro": 5, "colin": [5, 7], "raffel": [5, 7], "courtnei": 5, "ashcraft": 5, "cristina": 5, "garbacea": 5, "damien": [5, 8], "sileo": 5, "garrett": 5, "kilman": 5, "freeman": 5, "khashabi": 5, "levi": [5, 8], "mosegu\u00ed": 5, "gonz\u00e1lez": 5, "perszyk": 5, "danqi": 5, "dar": 5, "gilboa": 5, "dohan": [5, 8], "drakard": 5, "jurgen": 5, "debajyoti": 5, "datta": 5, "deni": 5, "emelin": 5, "kleyko": 5, "deniz": 5, "yuret": 5, "derek": [5, 8], "tam": [5, 9], "dieuwk": 5, "hupk": 5, "diganta": 5, "dilyar": 5, "buzan": 5, "coelho": 5, "mollo": 5, "diyi": 5, "dylan": 5, "schrader": 5, "ekaterina": 5, "shutova": 5, "ekin": 5, "dogu": 5, "cubuk": 5, "elad": 5, "segal": 5, "eleanor": 5, "hagerman": 5, "donowai": 5, "elli": 5, "pavlick": 5, "rodola": 5, "emma": 5, "lam": 5, "chu": [5, 8], "erkut": 5, "erni": 5, "dyer": 5, "jerzak": 5, "eunic": 5, "engefu": 5, "manyasi": 5, "evgenii": 5, "zheltonozhskii": 5, "fanyu": 5, "fatemeh": 5, "siar": 5, "fernando": 5, "mart\u00ednez": 5, "plume": 5, "francesca": 5, "happ\u00e9": 5, "gaurav": 5, "genta": 5, "indra": 5, "winata": 5, "gerard": 5, "melo": 5, "germ\u00e1n": 5, "kruszewski": 5, "giambattista": [5, 8], "parascandolo": [5, 8], "giorgio": 5, "mariani": 5, "gloria": 5, "gonzalo": 5, "jaimovitch": 5, "l\u00f3pez": 5, "gregor": 5, "betz": 5, "gui": [5, 7], "gur": 5, "hana": 5, "galijasev": 5, "rashkin": 5, "hannaneh": 5, "hajishirzi": 5, "harsh": 5, "hayden": 5, "bogar": 5, "henri": [5, 8], "shevlin": 5, "hinrich": 5, "sch\u00fctze": 5, "hiromu": 5, "yakura": 5, "hongm": 5, "hugh": 5, "mee": 5, "wong": [5, 6, 8], "isaac": 5, "nobl": 5, "jaap": 5, "jumelet": 5, "geissing": 5, "jaehoon": 5, "jaim": 5, "fern\u00e1ndez": 5, "fisac": 5, "simon": 5, "koppel": 5, "koco\u0144": 5, "jana": 5, "thompson": [5, 7, 8], "janel": 5, "wingfield": 5, "jarema": 5, "radom": 5, "jascha": 5, "sohl": [5, 8], "dickstein": 5, "phang": 5, "yosinski": 5, "jekaterina": 5, "novikova": 5, "jell": 5, "bosscher": 5, "jennif": 5, "marsh": 5, "jeroen": 5, "taal": 5, "engel": 5, "jesujoba": 5, "alabi": 5, "jiam": 5, "jillian": 5, "joan": 5, "waweru": 5, "burden": 5, "bali": 5, "batcheld": 5, "berant": 5, "j\u00f6rg": 5, "frohberg": 5, "jo": 5, "rozen": 5, "orallo": 5, "boudeman": 5, "guerr": 5, "tenenbaum": 5, "joyc": 5, "chua": 5, "kanclerz": 5, "karen": 5, "livescu": 5, "karl": 5, "krauth": 5, "karthik": 5, "gopalakrishnan": 5, "katerina": 5, "ignatyeva": 5, "katja": 5, "markert": 5, "kaustubh": 5, "dhole": 5, "gimpel": 5, "omondi": 5, "kori": 5, "mathewson": 5, "kristen": 5, "chiafullo": 5, "ksenia": 5, "shkaruta": 5, "shridhar": 5, "kyle": [5, 6, 8], "mcdonel": 5, "richardson": 5, "laria": 5, "reynold": 5, "leo": [5, 8], "dugan": 5, "lianhui": 5, "lidia": 5, "contrera": 5, "ochando": 5, "morenc": 5, "moschella": 5, "luci": 5, "ludwig": 5, "schmidt": [5, 8], "luheng": 5, "olivero": 5, "col\u00f3n": 5, "metz": [5, 8], "l\u00fctfi": 5, "kerem": 5, "\u015fenel": 5, "bosma": [5, 6], "sap": [5, 8], "maartj": 5, "hoev": 5, "maheen": 5, "farooqi": 5, "manaal": 5, "faruqui": 5, "marco": [5, 6], "baturan": 5, "marelli": 5, "maru": 5, "maria": 5, "quintana": 5, "tolkiehn": 5, "mario": [5, 8], "giulianelli": 5, "martha": 5, "potthast": 5, "leavitt": 5, "hagen": 5, "m\u00e1ty\u00e1": 5, "schubert": 5, "medina": [5, 8], "orduna": 5, "baitemirova": 5, "melodi": 5, "arnaud": 5, "melvin": 5, "mcelrath": 5, "yee": 5, "cohen": 5, "ivanitskii": 5, "starritt": 5, "strube": 5, "micha\u0142": 5, "sw\u0119drowski": 5, "michel": [5, 8], "bevilacqua": 5, "mihir": 5, "kale": 5, "cain": 5, "mime": 5, "mitch": 5, "walker": 5, "mo": 5, "tiwari": 5, "mohit": 5, "bansal": 5, "moin": 5, "aminnaseri": 5, "mor": 5, "geva": 5, "mozhdeh": 5, "gheini": 5, "mukund": [5, 6], "varma": 5, "nanyun": 5, "peng": [5, 8], "nayeon": 5, "neta": 5, "krakov": 5, "doiron": 5, "nicol": 5, "martinez": 5, "nikita": [5, 6], "nangia": 5, "nikla": 5, "decker": 5, "muennighoff": 5, "nitish": [5, 8], "shirish": [5, 8], "keskar": [5, 8], "niveditha": 5, "constant": 5, "fiedel": 5, "nuan": 5, "wen": [5, 6], "oliv": [5, 8], "agha": 5, "elbaghdadi": 5, "omer": 5, "moreno": 5, "casar": 5, "parth": 5, "doshi": 5, "pascal": [5, 6], "fung": 5, "pu": 5, "vicol": 5, "pegah": 5, "alipoormolabashi": 5, "peiyuan": 5, "eckerslei": 5, "phu": 5, "mon": 5, "htut": 5, "pinyu": 5, "hwang": 5, "piotr": 5, "mi\u0142kowski": 5, "piyush": 5, "pouya": [5, 6], "pezeshkpour": [5, 6], "priti": 5, "oli": 5, "qiaozhu": [5, 6], "mei": [5, 6, 7], "qing": [5, 8], "qinlang": 5, "rabin": 5, "banjad": 5, "rachel": [5, 8], "etta": 5, "rudolph": 5, "raefer": 5, "rahel": 5, "haback": 5, "ramon": 5, "risco": 5, "rapha\u00ebl": 5, "milli\u00e8r": 5, "rhythm": 5, "garg": [5, 7], "rif": 5, "saurou": 5, "riku": 5, "arakawa": 5, "robb": 5, "raymaek": 5, "rohan": 5, "sikand": 5, "novak": 5, "sitelew": 5, "lebra": 5, "rosann": 5, "rowan": [5, 8], "ruslan": 5, "salakhutdinov": 5, "stoval": 5, "teehan": 5, "sahib": 5, "saif": 5, "sajant": 5, "dillav": 5, "shleifer": 5, "wiseman": 5, "gruetter": 5, "schoenholz": 5, "sanghyun": 5, "sanjeev": 5, "kwatra": 5, "sarik": 5, "ghazarian": 5, "sayan": 5, "casei": [5, 8], "bischoff": 5, "gehrmann": 5, "schuster": 5, "sepideh": 5, "sadeghi": 5, "shadi": 5, "hamdan": 5, "sharon": 5, "shashank": 5, "sherri": 5, "shi": [5, 8], "shikhar": 5, "shima": 5, "asaadi": 5, "shubh": 5, "pachchigar": 5, "shubham": 5, "toshniw": 5, "shyam": [5, 8], "upadhyai": 5, "shyamolima": 5, "debnath": 5, "siamak": 5, "shakeri": 5, "thormey": 5, "melzi": 5, "siva": 5, "reddi": 5, "sneha": 5, "priscilla": 5, "makini": 5, "soo": 5, "hwan": 5, "toren": 5, "sriharsha": 5, "hatwar": 5, "stanisla": 5, "dehaen": 5, "stefan": 5, "divic": 5, "stella": 5, "biderman": 5, "stephen": 5, "prasad": 5, "piantadosi": 5, "stuart": [5, 8], "shieber": 5, "summer": [5, 8], "misherghi": 5, "svetlana": 5, "kiritchenko": 5, "swaroop": 5, "tal": 5, "linzen": 5, "tariq": 5, "tatsu": 5, "te": 5, "th\u00e9o": 5, "desbord": 5, "theodor": 5, "rothschild": 5, "phan": [5, 8], "tiberiu": 5, "nkinyili": 5, "timo": 5, "schick": 5, "timofei": 5, "kornev": 5, "titu": 5, "tunduni": 5, "gerstenberg": 5, "trenton": 5, "trishala": 5, "neeraj": 5, "tushar": 5, "khot": 5, "shultz": 5, "uri": 5, "shaham": 5, "vera": 5, "demberg": 5, "victoria": [5, 8], "nyamai": 5, "vika": 5, "raunak": 5, "vinai": 5, "ramasesh": 5, "udai": 5, "prabhu": 5, "vishakh": 5, "padmakumar": 5, "vivek": [5, 6], "srikumar": [5, 6], "fedu": [5, 8], "wout": 5, "vossen": 5, "xiaoyu": 5, "tong": [5, 8], "xinran": 5, "xinyi": 5, "yadollah": 5, "yaghoobzadeh": 5, "yair": 5, "lakretz": 5, "yangqiu": 5, "yasaman": 5, "bahri": 5, "yichi": 5, "yide": 5, "yifu": 5, "yonatan": 5, "belinkov": 5, "yufang": 5, "seid": 5, "zhuoy": 5, "zijian": 5, "ziji": 5, "zirui": 5, "ziyi": 5, "extrapol": [5, 6], "2206": 5, "04615": 5, "wpn": 5, "yada": 5, "pruksachatkun": 5, "amanpreet": 5, "hill": 5, "stickier": 5, "wsm": 5, "1804": 5, "07461": 5, "wtb": 5, "tai": 5, "borgeaud": 5, "dani": 5, "yogatama": 5, "denni": [5, 6, 8], "donald": 5, "metzler": 5, "ed": [5, 6], "oriol": 5, "vinyal": 5, "dean": 5, "07682": 5, "wdr": 5, "doolei": 5, "manlei": 5, "arka": [5, 8], "pal": 5, "feuer": 5, "siddhartha": 5, "ravid": 5, "shwartz": [5, 8], "ziv": 5, "khalid": [5, 7], "saifullah": 5, "siddartha": 5, "naidu": 5, "chinmai": 5, "hegd": 5, "lecun": 5, "goldstein": 5, "willi": 5, "neiswang": 5, "micah": 5, "goldblum": 5, "19314": 5, "yyh": 5, "baosong": [5, 7], "chengpeng": 5, "chengyuan": [5, 7], "fei": [5, 6, 7], "guant": 5, "haoran": [5, 7], "huan": [5, 7], "jialong": 5, "jialin": 5, "jianhong": [5, 7], "tu": [5, 7], "jianwei": [5, 7], "jianxin": [5, 7], "jin": [5, 6, 8], "jingren": [5, 7], "jinz": 5, "jinzheng": 5, "junyang": [5, 7], "keme": [5, 7], "keqin": [5, 7], "kexin": [5, 7], "mingfeng": [5, 7], "xue": [5, 7, 8], "ni": [5, 6], "pei": [5, 7, 8], "ru": 5, "men": [5, 7], "ruiz": 5, "runji": [5, 7], "shiji": 5, "sinan": 5, "tianhang": 5, "wenbin": 5, "ge": 5, "xiaodong": 5, "deng": 5, "xiaohuan": 5, "xingzhang": [5, 7], "xinyu": [5, 8], "xipin": 5, "xuancheng": [5, 7], "yichang": [5, 7], "wan": [5, 7], "yunfei": 5, "yuqiong": [5, 7], "zhenru": [5, 7], "zhihao": 5, "10671": 5, "zcl24": 5, "zhihan": 5, "cao": 5, "lizi": 5, "openreview": [5, 6], "forum": [5, 6], "aegrf1uy0p": 5, "zc": 5, "siyuan": 5, "zhuang": [5, 8], "zhanghao": 5, "yonghao": 5, "zi": 5, "zhuohan": 5, "xing": [5, 8], "2306": [5, 8], "05685": 5, "huggingface24": 5, "metaai24": 5, "422": 5, "thank": [5, 7, 9], "doubl": 6, "steve": [6, 8], "lc": 6, "cutoff": 6, "amayuela": 6, "tail": 6, "kotha": 6, "unifi": [6, 7, 9], "realli": 6, "silver": 6, "bullet": 6, "mandatori": 6, "ingest": 6, "preprocess": [6, 7, 9], "parser": [6, 9], "microsoft": [6, 7], "autogen": 6, "powerpoint": 6, "ocr": 6, "exif": 6, "metadata": [6, 7], "docker": [6, 7], "container": [6, 7], "xlsx": 6, "text_cont": 6, "ibm": [6, 7, 8], "docx": 6, "pptx": 6, "layout": 6, "llamaindex": 6, "document_convert": 6, "documentconvert": 6, "export_to_markdown": 6, "presenc": 6, "merril": 6, "lynch": 6, "cio": 6, "outlook": 6, "forecast_file_path": 6, "result_md": 6, "forecast_result_docl": 6, "levenshtein": 6, "distanc": 6, "sequencematch": 6, "difflib": 6, "longest": 6, "levenshtein_similar": 6, "text1": 6, "text2": 6, "max_len": 6, "simple_similar": 6, "ratio": [6, 7], "forecast_result_md": 6, "13985705461925346": 6, "17779960707269155": 6, "readabl": 6, "messi": 6, "2025e": 6, "compos": [6, 7, 8], "financial_vari": 6, "financial_forecast": 6, "econforecast": 6, "extract_prompt": 6, "base_prompt": [6, 9], "extract_from_doc": 6, "twice": 6, "md_financi": 6, "docling_financi": 6, "easier": [6, 7, 8, 9], "gdp": 6, "cpi": 6, "fed": 6, "df_md_forecast": 6, "df_docling_forecast": 6, "despit": [6, 7, 9], "underweight": 6, "neutral": [6, 8], "overweight": 6, "chart": 6, "asset_class_docl": 6, "asset_class_md": 6, "df_md": 6, "df_docl": 6, "true_valu": 6, "df_comparison": 6, "cap": 6, "exempt": 6, "markitdown_accuraci": 6, "docling_accuraci": 6, "93": [6, 7, 8], "unstructur": [6, 7, 9], "sector": 6, "convert_and_export_t": 6, "file_path": 6, "doc_convert": 6, "start_tim": [6, 8], "conv_r": 6, "table_df": 6, "export_to_datafram": 6, "end_tim": 6, "2f": 6, "usd": 6, "wtd": 6, "mtd": 6, "ytd": 6, "djia": 6, "926": 6, "amp": 6, "051": 6, "277": 6, "russel": [6, 8], "2000": 6, "msci": 6, "817": [6, 8], "eaf": 6, "319": 6, "107": 6, "01": [6, 7], "66": [6, 8], "92": 6, "municip": 6, "79": [6, 8], "slight": 6, "discretionari": 6, "yellow": 6, "estat": 6, "orang": 6, "stapl": 6, "constructor": 6, "md_llm": 6, "llm_client": 6, "llm_model": 6, "png": 6, "overview": [6, 9], "showcas": 6, "bond": 6, "crude": 6, "oil": 6, "sit": 6, "648": 6, "ounc": 6, "euro": 6, "tactic": 6, "bofa": 6, "circl": [6, 8], "firecrawl": 6, "mendabl": 6, "crawler": 6, "llamapars": 6, "deserv": 6, "arulkumaran": 6, "karthikeyan": 6, "almasri": 6, "fetch": 6, "spreadsheet": 6, "literatur": [6, 8], "canon": 6, "succinct": [6, 7], "authorship": 6, "book_url": 6, "intro": 6, "structured_output": 6, "chapter_url": 6, "chapter_id": 6, "dimension": 6, "chromadb": 6, "weaviat": 6, "faiss": 6, "milvu": 6, "chroma_cli": 6, "aw": [6, 7, 8], "azur": 6, "gcp": 6, "create_collect": 6, "taming_llm": 6, "argument": [6, 7, 8, 9], "query_collect": 6, "query_text": 6, "n_result": 6, "enquir": 6, "related": 6, "leaderboard": [6, 7, 8], "2024i": 6, "behind": [6, 8], "minilm": 6, "l6": 6, "v2": [6, 7, 8], "sentence_transform": 6, "2024f": 6, "sentencetransform": 6, "embedding_model": 6, "docs_to_emb": 6, "encod": [6, 7, 8, 9], "384": [6, 8], "0000": 6, "4402": 6, "3022": 6, "4028": 6, "6606": 6, "5807": 6, "6313": 6, "matrix": [6, 7, 8], "heatmap": 6, "wise": [6, 9], "dataset": [6, 9], "tree": [6, 8, 9], "kd": 6, "ball": 6, "partit": 6, "hierarch": [6, 8], "curs": 6, "hnsw": 6, "promin": [6, 8], "lsh": 6, "hash": 6, "bucket": 6, "sacrific": [6, 7], "chroma": 6, "tutori": 6, "crossencod": 6, "512": 6, "passag": [6, 8], "argmax": 6, "52623": 6, "328738": 6, "750055": 6, "ideia": 6, "rake": 6, "topk": [6, 9], "rag_system_prompt_templ": 6, "user_prompt_templ": 6, "popul": 6, "rag_qa": 6, "res_rerank": 6, "invok": [6, 9], "alammar": 6, "diamant": 6, "kimothi": 6, "athinaai": 6, "envis": 6, "incomplet": [6, 7, 8], "unreli": [6, 7], "acut": 6, "unverifi": 6, "intric": 6, "hamper": 6, "raga": 6, "misinterpret": 6, "appar": [6, 8], "shed": 6, "light": 6, "misl": 6, "gemini": [6, 7], "outperform": [6, 7], "rout": 6, "hybrid": 6, "retrollm": 6, "loft": 6, "hop": 6, "gecko": 6, "vectordb": 6, "llama_pars": 6, "llx": 6, "result_typ": 6, "load_data": 6, "doc1": 6, "doc2": 6, "llama_index": 6, "vectorstoreindex": 6, "simpledirectoryread": 6, "vector_stor": 6, "chromavectorstor": 6, "storagecontext": 6, "db": 6, "persistentcli": 6, "chroma_db": 6, "chroma_collect": 6, "get_or_create_collect": 6, "storage_context": 6, "from_default": 6, "from_docu": 6, "query_engin": 6, "as_query_engin": 6, "prototyp": [6, 7], "complement": 6, "reassembl": 6, "breakdown": [6, 8], "fewer": [6, 7, 8], "furthermor": [6, 9], "zenml": 6, "max_output_token": 6, "statement": [6, 8], "10k": 6, "diagram": [6, 8], "charactertextsplitt": 6, "tiktoken": [6, 8], "sequenti": 6, "newlin": 6, "cheap": 6, "speciali": 6, "nltk": 6, "spaci": 6, "talk": 6, "theme": [6, 7, 8], "splitter": 6, "surpass": 6, "get_chunk": 6, "chunk_siz": 6, "chunk_overlap": 6, "langchain_text_splitt": 6, "text_splitt": 6, "from_tiktoken_encod": 6, "split_text": 6, "persona": 6, "langchain_cor": [6, 9], "prompttempl": 6, "get_base_prompt_templ": 6, "from_templ": 6, "llmchain": 6, "output_pars": 6, "stroutputpars": 6, "langchain_commun": 6, "chat_model": 6, "chatlitellm": 6, "get_llm_chain": 6, "prompt_templ": [6, 9], "llm_chain": [6, 9], "api_key_label": 6, "upper": 6, "_api_kei": 6, "get_dynamic_prompt_templ": 6, "get_dynamic_prompt_param": 6, "prompt_param": 6, "part_idx": 6, "total_part": 6, "chat_context": 6, "param": 6, "dynamic_prompt_param": 6, "concaten": 6, "generate_report": 6, "input_cont": 6, "llm_model_nam": 6, "report_part": 6, "num_part": 6, "dinam": 6, "priovid": 6, "cummul": 6, "max_chunk_s": 6, "max_chunk_overlap": 6, "apple_report": 6, "report_cont": 6, "report_lin": 6, "splitlin": 6, "total_lin": 6, "quarter_lin": 6, "top_port": 6, "bottom_port": 6, "uncov": [6, 8, 9], "delv": 6, "consol": 6, "reaction": 6, "disciplin": 6, "subhead": 6, "depth": [6, 8], "2m": [6, 7], "harvard": [6, 7], "enrol": 6, "gov": [6, 8], "1039": 6, "birth": [6, 8], "democraci": 6, "tuesdai": 6, "magna": 6, "carta": 6, "trudg": 6, "dens": 6, "conversation": 6, "knowledge_bas": 6, "add_knowledge_bas": 6, "add_cit": 6, "bool": [6, 8], "num_quest": 6, "input_memori": 6, "response_memori": 6, "urls_memori": 6, "extractor": 6, "cic": 6, "citabl": 6, "corpora": 6, "formatted_cont": 6, "reference_id": 6, "wrapper": [6, 9], "content_gener": 6, "user_instruct": 6, "llmbackend": 6, "cache_ttl": 6, "cachedcont": 6, "display_nam": 6, "due_knowledge_bas": 6, "system_instruct": 6, "compose_prompt": 6, "conversation_config": 6, "ttl": 6, "generativemodel": 6, "from_cached_cont": 6, "cached_cont": 6, "quiz_inst": 6, "professor": 6, "difficulti": [6, 8], "syllabu": 6, "kennedi": 6, "inaugur": 6, "lincoln": 6, "gettysburg": 6, "liberti": 6, "mayflow": 6, "abraham": 6, "gutenberg": 6, "kb": 6, "epub": 6, "pg": 6, "gemini_duo": 6, "genai_duo": 6, "duo": 6, "usage_metadata": 6, "38470": 6, "anytim": 6, "shap": 6, "mckechni": 6, "study_refer": 6, "pg10000": 6, "65363": 6, "pg65363": 6, "quizz": 6, "problemat": [6, 8], "simpler": [6, 7, 9], "ag24": 6, "jai": [6, 8], "1098150969": 6, "9781098150952": 6, "awp": 6, "alfonso": 6, "liangm": 6, "pan": [6, 8], "wenhu": 6, "lun": 6, "ku": 6, "editor": [6, 8], "acl": [6, 8], "6416": 6, "6432": 6, "bangkok": 6, "thailand": 6, "aclanthologi": [6, 8], "383": 6, "18653": [6, 8], "v1": [6, 7, 8], "bcv14": 6, "aaron": 6, "courvil": 6, "vincent": 6, "1206": 6, "5538": 6, "dia24": 6, "nir": 6, "nirdiam": 6, "rag_techniqu": 6, "hrk": 6, "koleczek": 6, "arshdeep": 6, "franklin": 6, "sadid": 6, "hasan": 6, "10541": 6, "jlz": 6, "mathew": 6, "erik": [6, 8], "lindgren": 6, "matei": 6, "zaharia": 6, "carbin": 6, "drozdov": 6, "drown": 6, "11767": 6, "kim24": 6, "9781633435858": 6, "meap": 6, "ksr24": 6, "suha": 6, "springer": 6, "aditi": 6, "raghunathan": 6, "twelfth": 6, "vrhif2hsrm": 6, "lcd": 6, "jinhyuk": 6, "zhuyun": 6, "dheeru": 6, "dua": 6, "devendra": 6, "sachan": 6, "boratko": 6, "luan": 6, "s\u00e9bastien": 6, "arnold": 6, "perot": 6, "siddharth": 6, "dalmia": 6, "hexiang": 6, "panupong": 6, "pasupat": 6, "aida": 6, "amini": 6, "cole": 6, "riedel": 6, "iftekhar": 6, "naim": 6, "ming": [6, 8], "guu": 6, "subsum": 6, "sql": 6, "13121": 6, "lpp": 6, "aleksandra": 6, "piktu": 6, "fabio": [6, 8], "petroni": 6, "vladimir": 6, "karpukhin": 6, "heinrich": 6, "k\u00fcttler": 6, "tau": 6, "yih": 6, "rockt\u00e4schel": 6, "douw": 6, "kiela": 6, "2005": 6, "11401": 6, "ljz": 6, "xiaoxi": 6, "jiaji": 6, "yongkang": 6, "zhonghua": 6, "zhicheng": 6, "dou": 6, "empow": [6, 8], "11919": 6, "llz": 6, "zhuowan": 6, "cheng": [6, 8, 9], "mingyang": 6, "benderski": 6, "16833": 6, "lfc": 6, "zhihang": 6, "chao": 6, "rongxin": 6, "yaowu": 6, "jiep": 6, "16434": 6, "lla24": 6, "nbgc24": 6, "shiyu": 6, "kepe": 6, "bi": 6, "jiafeng": 6, "guo": [6, 8], "xueqi": 6, "11375": 6, "11388": 6, "675": 6, "tdw": 6, "jiejun": 6, "mang": 6, "weipeng": 6, "ji": 6, "htmlrag": 6, "02959": 6, "ww": 6, "dale": 6, "schuurman": 6, "ichter": 6, "quoc": 6, "2201": [6, 8], "11903": 6, "wip": 6, "yunshu": 6, "hayat": 6, "iso": 6, "bhutani": 6, "estevam": 6, "hruschka": 6, "2309": [6, 8], "07382": 6, "zlj": 6, "yun": [6, 9], "metacognit": 6, "1453": 6, "1463": 6, "ny": [6, 8, 9], "usa": [6, 8, 9], "machineri": [6, 9], "1145": [6, 8, 9], "3589334": 6, "3645481": 6, "anthropic4a": 6, "athinaai24": 6, "recip": 6, "athina": 6, "chromadb4a": 6, "chromadb4b": 6, "trychroma": 6, "huggingface4f": 6, "huggingface4i": 6, "mteb": 6, "ibmresearch24": 6, "ds4sd": 6, "langchain24": 6, "how_to": 6, "llamaindex24": 6, "mendableai24": 6, "mendableai": 6, "merrilllynch24": 6, "weekli": 6, "olui2": 6, "gwmol": 6, "microsoft24": 6, "openai24": 6, "ragas24": 6, "getstart": 6, "rag_evalu": 6, "unstructuredio24": 6, "zenml24": 6, "llmop": 6, "di": 7, "hunter": 7, "photo": 7, "email": 7, "hipaa": 7, "properti": [7, 8], "gdpr": 7, "strict": [7, 8, 9], "iot": 7, "impract": 7, "slm": 7, "viabl": 7, "sensor": 7, "interconnect": 7, "frontend": 7, "garner": 7, "yourself": 7, "bedrock": 7, "sambanova": 7, "sla": 7, "veloc": 7, "roadmap": 7, "commodit": 7, "winner": 7, "loser": 7, "condens": 7, "clean": 7, "2024t": 7, "versatil": 7, "72b": 7, "med": 7, "bloomberggpt": 7, "underw": 7, "adept": 7, "toxigen": 7, "alnajjar": 7, "13b": [7, 8], "32b": 7, "feasibl": 7, "modal": 7, "diagnosi": 7, "patient": 7, "necessit": 7, "deepseek": 7, "flagship": 7, "405b": 7, "pack": 7, "v3": [7, 8], "671": 7, "moe": 7, "mixtur": 7, "3x": [7, 8], "fraction": 7, "domin": 7, "cautiou": 7, "cautious": 7, "isol": [7, 8], "cpot": 7, "cpit": 7, "tco": 7, "tpot": 7, "ttft": 7, "sent": [7, 8], "gpqa": 7, "median": 7, "afford": 7, "meanwhil": 7, "lite": 7, "micro": 7, "cent": 7, "1m": 7, "cheapest": 7, "phi": 7, "half": [7, 8], "permiss": [7, 8], "apach": 7, "700m": 7, "100m": 7, "gemma": [7, 9], "grown": 7, "withdraw": 7, "unclear": 7, "15t": 7, "8t": 7, "fineweb": 7, "penedo": 7, "96": [7, 8], "crawl": 7, "snapshot": 7, "codebas": 7, "ablat": 7, "vital": [7, 8], "favorit": 7, "spawn": 7, "ultrachat": 7, "2024u": 7, "created_job": 7, "fine_tun": 7, "training_fil": 7, "file_id": 7, "ultrachat_chunk_train": 7, "validation_fil": 7, "ultrachat_chunk_ev": 7, "training_step": 7, "0001": 7, "auto_start": 7, "job_id": 7, "toolkit": [7, 8], "sft": 7, "nemo": [7, 8], "codestr": 7, "2024v": 7, "enough": 7, "rewrit": 7, "smolvlm": 7, "mlx": [7, 9], "mlc": 7, "peft": 7, "programm": 7, "graphic": [7, 8], "vram": 7, "mathbf": 7, "x_1": [7, 9], "x_2": [7, 9], "x_n": [7, 9], "x_": [7, 9], "\u03b8": 7, "cerebra": 7, "mozilla": 7, "gerganov": 7, "georgi": 7, "overwhelm": [7, 9], "manifesto": 7, "enjoy": 7, "bog": 7, "exploratori": 7, "hacker": 7, "Will": [7, 8], "prematur": 7, "besid": 7, "lighter": 7, "ggml": [7, 9], "disk": 7, "backward": 7, "2024x": 7, "repo": 7, "compil": 7, "linux": 7, "sudo": 7, "apt": 7, "cmake": 7, "bind": 7, "betlen": 7, "cnv": 7, "llamacpp": 7, "ctrl": 7, "interject": 7, "philosoph": 7, "debat": 7, "fulfil": 7, "happi": 7, "responsibli": 7, "bye": 7, "goodby": 7, "port": 7, "127": 7, "curl": [7, 9], "localhost": 7, "bearer": 7, "finish_reason": 7, "deepli": 7, "1734627879": 7, "completion_token": 7, "total_token": 7, "chatcmpl": 7, "5wl2tzjzdmzupvxwp2gcedr8xbpsyhfm": 7, "prompt_n": 7, "prompt_m": 7, "132": 7, "prompt_per_token_m": 7, "prompt_per_second": 7, "77619878666999": 7, "predicted_n": 7, "predicted_m": 7, "1700": 7, "654": [7, 9], "predicted_per_token_m": 7, "36882142857143": 7, "predicted_per_second": 7, "92850867960208": 7, "gbnf": [7, 9], "8pm": 7, "appointmenttim": 7, "appointmentdetail": 7, "handi": 7, "model_path": 7, "llama_cpp": 7, "create_chat_complet": 7, "occupi": 7, "activist": 7, "justin": [7, 8], "tunnei": 7, "ocho": 7, "appach": 7, "cosmopolitan": 7, "libc": 7, "portabl": 7, "durabl": 7, "usabl": [7, 8, 9], "tinyllama": 7, "wget": 7, "jartin": 7, "q5_k_m": 7, "renam": 7, "ex": 7, "chmod": 7, "nobrows": 7, "registri": 7, "nativ": [7, 9], "trai": 7, "familiar": 7, "bare": 7, "ssfl": 7, "sh": [7, 9], "Or": 7, "11434": 7, "chatrespons": 7, "easiest": 7, "rich": [7, 8], "playground": 7, "simultan": [7, 8], "importantli": [7, 9], "intuit": 7, "beginn": 7, "tensorrt": 7, "trt": 7, "latex": 7, "voic": 7, "pwa": 7, "medium": [7, 8], "gpt4all": 7, "rbac": 7, "q4_k": 7, "q6_k": 7, "mib": 7, "wikitext": 7, "salesforc": 7, "wikipedia": [7, 9], "min_prompt_length": 7, "input_texts_raw": 7, "began": 7, "2010": 7, "valkyria": 7, "chronicl": 7, "forgiv": 7, "newcom": 7, "raita": 7, "honjou": 7, "hitoshi": 7, "sakimoto": 7, "takeshi": 7, "ozawa": 7, "writer": 7, "sung": 7, "escap": 7, "escaped_text": 7, "block_scal": 7, "block": [7, 8], "parenthes": 7, "block_min": 7, "formula": 7, "superblock": 7, "5625": 7, "ieee": 7, "754": 7, "ppl": 7, "exp": 7, "sum_": 7, "log_2": 7, "x_i": [7, 9], "avg": 7, "_i": 7, "corr": 7, "ln": [7, 9], "kullback": 7, "leibler": 7, "entropi": 7, "logit": 7, "d_": 7, "softmax": [7, 9], "sum": 7, "kld": 7, "q2_kresult": 7, "q6": 7, "004": 7, "q2": 7, "112": 7, "q4": 7, "smallest": 7, "390": 7, "67": [7, 8], "81": [7, 8], "462": 7, "614": 7, "170": 7, "q4_k_m": 7, "thread": 7, "16x": 7, "85x": 7, "79x": 7, "ubuntu": 7, "lt": 7, "x86_64": 7, "gnu": 7, "intel": 7, "i7": 7, "8550u": 7, "15gib": 7, "samsung": 7, "ssd": 7, "970": 7, "evo": 7, "500gb": 7, "1170": 7, "meant": 7, "ai4c": 7, "ai4a": 7, "paperswithcod": [7, 8], "ana24a": 7, "artificialanalysi": 7, "ana24b": 7, "ana24c": 7, "bc24": 7, "andrei": [7, 8], "abetlen": 7, "dee24": 7, "blob": [7, 9], "deepseek_v3": 7, "gc24": 7, "ggerganov": [7, 9], "readm": [7, 9], "gc4a": 7, "gc4b": 7, "hug4": 7, "optimum": 7, "concept_guid": 7, "hug4t": 7, "hug4u": 7, "200k": 7, "ultrachat_200k": 7, "hug4v": 7, "blogpost": 7, "pka": 7, "guilherm": 7, "hynek": 7, "kydl\u00ed\u010dek": 7, "decant": 7, "finest": 7, "17557": 7, "qwe4b": 7, "qy": 7, "beichen": 7, "tingyu": 7, "su": 7, "zihan": 7, "qiu": 7, "15115": 7, "rev24": 7, "nyt": 7, "harvardlawreview": 7, "timess": 7, "zwa": 7, "wael": 7, "geoffrei": [7, 8], "angu": 7, "arnav": 7, "jefferi": 7, "kinnison": 7, "sherstinski": 7, "piero": 7, "molino": 7, "travi": 7, "addair": 7, "devvret": 7, "310": 7, "2405": 7, "00732": 7, "huggingface4xa": 7, "huggingface4xb": 7, "ibmthink24": 7, "lmstudio24": 7, "lmstudio": 7, "metaai4c": 7, "mozillaocho24": 7, "salesforce24": 7, "immens": 8, "commonplac": 8, "spur": 8, "hartvigsen": 8, "societi": 8, "alarm": 8, "openli": 8, "dolli": 8, "llama2": [8, 9], "emb": 8, "generalist": 8, "injustic": 8, "inequ": 8, "undermin": 8, "perpetu": 8, "displac": 8, "eros": 8, "fake": 8, "deepfak": 8, "distrust": 8, "cyberattack": 8, "spread": 8, "disinform": 8, "inadvert": 8, "interven": 8, "irrevers": 8, "uncheck": 8, "extinct": 8, "race": 8, "incentiv": 8, "shortcut": 8, "stress": 8, "urgent": 8, "reorient": 8, "siam": 8, "edgington": 8, "jailbreak": 8, "promptcraft": 8, "stealth": 8, "sutton": 8, "subtl": 8, "subtleti": 8, "exception": 8, "phrase": 8, "evad": 8, "hqve": 8, "frer": 8, "hplidai": 8, "pl": 8, "hyperion": 8, "coast": 8, "redwood": 8, "tallest": 8, "routin": 8, "prejudic": 8, "gallego": 8, "leak": 8, "poison": 8, "intention": 8, "inject": 8, "mislead": 8, "exabeam": 8, "finra": 8, "3110": 8, "mandat": 8, "supervisori": 8, "unicef": 8, "contest": 8, "congress": 8, "enact": 8, "pictur": [8, 9], "sound": 8, "territori": 8, "oversea": 8, "chines": 8, "legitim": 8, "consent": 8, "complaint": 8, "cooper": 8, "extraterritori": 8, "offshor": 8, "draft": 8, "voluntari": 8, "player": 8, "prepared": 8, "compris": 8, "cbrn": 8, "persuas": 8, "autonomi": 8, "gradat": 8, "scorecard": 8, "elig": 8, "advisori": 8, "sag": 8, "shut": 8, "prerequisit": 8, "harden": 8, "asl": 8, "biosafeti": 8, "elev": 8, "warn": [8, 9], "bioweapon": 8, "compartment": 8, "4x": 8, "jump": 8, "paus": 8, "deepmind": 8, "biosecur": 8, "buffer": 8, "formul": [8, 9], "calibr": 8, "taxonomi": 8, "llamaguard": 8, "20241022": 8, "5x": 8, "alaga": 8, "substandard": 8, "oxford": 8, "wachter": 8, "blur": 8, "ill": 8, "stifl": 8, "suscept": 8, "aadc": 8, "outset": 8, "curricula": 8, "adversari": 8, "thoroughli": 8, "lm": [8, 9], "undergo": 8, "280b": 8, "cai": [8, 9], "enshrin": 8, "evas": 8, "resort": 8, "avenu": 8, "cambria": 8, "inherit": 8, "influenti": 8, "debias": 8, "plausibl": 8, "occurr": 8, "phish": 8, "clarifi": 8, "toler": 8, "checklist": 8, "abus": 8, "ux": 8, "architect": 8, "retrofit": 8, "promptli": 8, "dashboard": 8, "misalign": 8, "star": 8, "postpon": 8, "combat": 8, "counter": 8, "traffic": 8, "frustrat": 8, "workaround": 8, "silo": 8, "hierarchi": 8, "mcq": 8, "regex": [8, 9], "joint": 8, "facet": 8, "purpl": 8, "opensafetylab": 8, "salad_bench_dataset": 8, "base_set": 8, "gptfuzzer": 8, "auto": [8, 9], "qid": 8, "o1": 8, "supremaci": 8, "o53": 8, "o14": 8, "o5": 8, "o65": 8, "plagiar": 8, "o16": 8, "o6": 8, "o47": 8, "campaign": 8, "o12": 8, "o52": 8, "surveil": 8, "spous": 8, "know": 8, "o13": 8, "ncount": 8, "21318": 8, "8756": 8, "6486": 8, "o2": 8, "1717": 8, "o4": 8, "1477": 8, "o3": 8, "socioeconom": 8, "851": 8, "int64": 8, "gen": 8, "15433": 8, "hh": 8, "4184": 8, "659": 8, "advbench": 8, "230": 8, "189": 8, "toxicchat": 8, "anyth": 8, "misconcept": 8, "ingrain": 8, "mc1": 8, "singular": 8, "choices4": 8, "mc2": 8, "set4": 8, "scorer": 8, "correctli": [8, 9], "truthful_qa": 8, "truthfulqa_dataset": 8, "multiple_choic": 8, "best_answ": 8, "correct_answ": 8, "incorrect_answ": 8, "watermelon": 8, "digest": 8, "noth": 8, "stomach": 8, "sick": 8, "wonderopoli": 8, "wonder": 8, "belli": 8, "swallow": 8, "dream": 8, "die": 8, "indigest": 8, "unconsci": 8, "excret": 8, "asr": 8, "r2d2": 8, "wider": [8, 9], "mass": 8, "destruct": 8, "asynchron": 8, "webpurifi": 8, "protectai": 8, "comprehend": 8, "amazon": 8, "nvidia": [8, 9], "keyword": 8, "toolset": 8, "nemmo": 8, "synchron": 8, "nemoguardrail": 8, "llmrail": 8, "railsconfig": 8, "from_path": 8, "rail": 8, "hello": 8, "ministr": 8, "mistralai": 8, "mistral_api_kei": 8, "moderate_chat": 8, "omni": 8, "pprint": 8, "to_json": 8, "threaten": 8, "illicit": 8, "granit": 8, "guardian": 8, "consortium": 8, "11b": 8, "begin_of_text": 8, "start_header_id": 8, "end_header_id": 8, "unsafe_categori": 8, "user_message_1": 8, "model_answer_1": 8, "comma": 8, "eot_id": 8, "eom_id": 8, "denot": 8, "s1": 8, "s2": 8, "s3": 8, "s4": 8, "s5": 8, "defam": 8, "s6": 8, "s7": 8, "s8": 8, "s9": 8, "s10": 8, "s11": 8, "s12": 8, "s13": 8, "padhi": 8, "atla": 8, "2b": 8, "hap": 8, "38m": 8, "125m": 8, "shieldgemma": 8, "judge_prompt": 8, "american": 8, "vandal": 8, "underag": 8, "drink": 8, "vulgar": 8, "obscen": 8, "racism": 8, "derogatori": 8, "firearm": 8, "safety_scor": 8, "IN": 8, "borderlin": 8, "verdict": 8, "boolean": [8, 9], "brief": 8, "rational": 8, "paramount": [8, 9], "evenli": 8, "good_sampl": 8, "bad_sampl": 8, "2024z": 8, "surg": 8, "scam": 8, "get_profanity_sampl": 8, "show_stat": 8, "current_dir": 8, "getcwd": 8, "data_path": 8, "profanity_en": 8, "random_st": 8, "ncategori": 8, "category_count": 8, "category_1": 8, "1f": 8, "profanity_sampl": 8, "nsampl": 8, "anatomi": 8, "slur": 8, "182": 8, "bodili": 8, "fluid": 8, "excrement": 8, "insult": 8, "mental": 8, "disabl": 8, "jap": 8, "babi": [8, 9], "batter": 8, "crazi": 8, "sob": 8, "fukka": 8, "sh1t3": 8, "get_salad_sampl": 8, "salad_sampl": 8, "tortur": 8, "porn": 8, "sin": 8, "sight": 8, "god": 8, "embezzl": 8, "xanax": 8, "alcohol": 8, "get_good_sampl": 8, "min_scor": 8, "reichstag": 8, "profanity_data": 8, "salad_data": 8, "good_data": 8, "all_data": 8, "prompt_sampl": 8, "is_unsaf": 8, "counti": 8, "holli": 8, "ridg": 8, "nc": 8, "town": 8, "onslow": 8, "carolina": 8, "diver": 8, "underwat": 8, "maze": 8, "coral": 8, "treasur": 8, "vivid": 8, "sensori": 8, "emot": 8, "labyrinthin": 8, "reef": 8, "suspens": 8, "obstacl": 8, "creatur": 8, "nomin": 8, "nobel": 8, "love": 8, "logo": 8, "thief": 8, "rob": 8, "famou": 8, "nstatist": 8, "source_stat": 8, "type_stat": 8, "plug": 8, "safetyvalid": 8, "validationresult": 8, "dataclass": 8, "abstractmethod": 8, "llmguardvalid": 8, "scanner": 8, "bantop": 8, "llm_guard": 8, "input_scann": 8, "scan_prompt": 8, "matchtyp": 8, "default_banned_top": 8, "banned_top": 8, "super": 8, "banned_topics_scann": 8, "use_onnx": 8, "toxicity_scann": 8, "match_typ": 8, "fail_fast": 8, "unsafe_scann": 8, "gun": 8, "cool": 8, "hunt": 8, "deer": 8, "dad": 8, "mistralvalid": 8, "hate_and_discrimin": 8, "violence_and_threat": 8, "dangerous_and_criminal_cont": 8, "selfharm": 8, "openaivalid": 8, "attr": 8, "dir": 8, "getattr": 8, "illicit_viol": 8, "llmjudgevalid": 8, "prompt_path": 8, "llmjudg": 8, "filenotfounderror": 8, "slice": 8, "elaps": 8, "score_valid": 8, "id_": 8, "validator_inst": 8, "validation_result": 8, "elapsed_tim": 8, "prompt_sample_id": 8, "validator_nam": 8, "scoring_prompt": 8, "scoring_result": 8, "01536": 8, "34098": 8, "497136": 8, "546416": 8, "calculate_validator_metr": 8, "bad_sourc": 8, "good_sourc": 8, "tpr": 8, "fpr": 8, "f1_score": 8, "tn": 8, "fp": 8, "fn": 8, "tp": 8, "255": 8, "74": 8, "238": 8, "130": 8, "256": 8, "149": 8, "213": 8, "190": 8, "235": 8, "63": [8, 9], "222": 8, "480": 8, "157": 8, "487": 8, "495": 8, "482": 8, "667": 8, "248": 8, "466": 8, "143": 8, "355": 8, "slowest": 8, "room": 8, "false_posit": 8, "left_on": 8, "right_on": 8, "persian": 8, "teenag": 8, "\u0686\u0627\u0644\u0634": 8, "\u0645\u0648\u0645\u0648": 8, "\u06cc\u06a9": 8, "\u062d\u0642\u0647": 8, "\u0648": 8, "\u0627\u0641\u0633\u0627\u0646\u0647": 8, "\u0645\u062d\u0644\u06cc": 8, "\u0627\u0633\u062a": 8, "\u06a9\u0647": 8, "\u0634\u0627\u06cc\u0639\u0647": 8, "\u0622\u0646": 8, "\u062f\u0631": 8, "\u0634\u0628\u06a9\u0647": 8, "\u0647\u0627\u06cc": 8, "\u0627\u062c\u062a\u0645\u0627\u0639\u06cc": 8, "\u067e\u062e\u0634": 8, "\u0634\u062f": 8, "\u06af\u0632\u0627\u0631\u0634": 8, "\u06a9\u0627\u0631\u0628\u0631\u06cc": 8, "\u0628\u0627": 8, "\u0646\u0627\u0645": 8, "\u06a9\u0648\u062f\u06a9\u0627\u0646": 8, "\u0646\u0648\u062c\u0648\u0627\u0646\u0627\u0646": 8, "\u0631\u0627": 8, "\u0628\u0647": 8, "\u0627\u0639\u0645\u0627\u0644": 8, "\u062e\u0637\u0631\u0646\u0627\u06a9\u06cc": 8, "\u0645\u0627\u0646\u0646\u062f": 8, "\u062e\u0648\u062f\u0632\u0646\u06cc": 8, "\u062e\u0648\u062f\u06a9\u0634\u06cc": 8, "\u062a\u0631\u063a\u06cc\u0628": 8, "\u0645\u06cc": 8, "\u06a9\u0646\u062f": 8, "\u0648\u062c\u0648\u062f": 8, "\u0635\u062d\u0628\u062a": 8, "\u0632\u06cc\u0627\u062f\u06cc": 8, "\u0645\u0648\u0631\u062f": 8, "\u0627\u06cc\u0646": 8, "\u062a\u0639\u062f\u0627\u062f": 8, "\u0634\u06a9\u0627\u06cc\u0627\u062a": 8, "\u0648\u0627\u0642\u0639\u06cc": 8, "\u0628\u0633\u06cc\u0627\u0631": 8, "\u06a9\u0645": 8, "\u0628\u0648\u062f": 8, "\u067e\u0644\u06cc\u0633": 8, "\u0635\u062f\u0645\u0647": 8, "\u062f\u06cc\u062f\u0646": 8, "\u062f\u0644\u06cc\u0644": 8, "\u062a\u0623\u062b\u06cc\u0631": 8, "\u0645\u0633\u062a\u0642\u06cc\u0645": 8, "\u067e\u062f\u06cc\u062f\u0647": 8, "\u062a\u0623\u06cc\u06cc\u062f": 8, "\u0646\u06a9\u0631\u062f\u0647": 8, "\u062a\u0631\u0633": 8, "\u0646\u06af\u0631\u0627\u0646\u06cc": 8, "\u0627\u06cc\u062c\u0627\u062f": 8, "\u0634\u062f\u0647": 8, "\u0628\u06cc\u0634\u062a\u0631": 8, "\u0627\u0632": 8, "\u062e\u0648\u062f": 8, "\u0631\u0633\u0627\u0646\u0647": 8, "\u0647\u0627": 8, "\u0637\u0648\u0631\u06cc": 8, "\u062e\u06cc\u0631\u06cc\u0647": 8, "\u0647\u0634\u062f\u0627\u0631": 8, "\u062f\u0627\u062f\u0646\u062f": 8, "\u0622\u0633\u06cc\u0628": 8, "\u0627\u0646\u062a\u0638\u0627\u0631\u0627\u062a": 8, "\u0645\u062d\u062a\u0648\u0627\u06cc": 8, "\u062e\u0634\u0648\u0646\u062a": 8, "\u0622\u0645\u06cc\u0632": 8, "\u0627\u06cc\u0646\u062a\u0631\u0646\u062a": 8, "\u06af\u0641\u062a\u0647": 8, "\u0634\u0648\u062f": 8, "\u0627\u0648\u0644\u06cc\u0646": 8, "\u0628\u0627\u0631": 8, "\u0633\u0627\u0644": 8, "\u06f2\u06f0\u06f1\u06f8": 8, "\u067e\u0633": 8, "\u0622\u0646\u06a9\u0647": 8, "\u0631\u0648\u0632\u0646\u0627\u0645\u0647": 8, "\u0627\u0646\u062f\u0648\u0646\u0632\u06cc\u0627\u06cc\u06cc": 8, "\u062e\u0628\u0631": 8, "\u062f\u062e\u062a\u0631": 8, "\u06f1\u06f2": 8, "\u0633\u0627\u0644\u0647": 8, "\u062f\u0627\u062f": 8, "\u0645\u0648\u0636\u0648\u0639": 8, "\u062c\u0647\u0627\u0646\u06cc": 8, "\u062a\u0628\u062f\u06cc\u0644": 8, "\u0645\u062c\u0633\u0645\u0647": 8, "\u0647\u0646\u0631\u0645\u0646\u062f": 8, "\u0698\u0627\u067e\u0646\u06cc": 8, "\u0647\u0631": 8, "\u0686\u0646\u062f": 8, "\u0634\u0627\u06cc\u062f": 8, "\u0646\u06af\u0627\u0647": 8, "\u0628\u0639\u0636\u06cc": 8, "\u0632\u06cc\u0628\u0627": 8, "\u0646\u0628\u0627\u0634\u062f": 8, "\u0627\u0645\u0627": 8, "\u06a9\u0627\u0645\u0644\u0627": 8, "\u0628\u06cc": 8, "\u062e\u0637\u0631": 8, "\u0627\u06cc\u0631\u0627\u0646": 8, "\u0645\u062f\u062a": 8, "\u0628\u06cc\u0646": 8, "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646": 8, "\u0645\u0637\u0631\u062d": 8, "\u0633\u0627\u0644\u06cc": 8, "\u0633\u0631\u0627\u0633\u0631": 8, "\u062c\u0647\u0627\u0646": 8, "\u0645\u0634\u0627\u0628\u0647\u06cc": 8, "\u0628\u0631\u0627\u06cc": 8, "\u0648\u0627\u0644\u062f\u06cc\u0646": 8, "\u06a9\u0631\u062f\u0647": 8, "\u0627\u0641\u0631\u0627\u062f": 8, "\u0686\u0647": 8, "\u06a9\u0627\u0631\u06cc": 8, "\u062f\u0639\u0648\u062a": 8, "tourist": 8, "distress": 8, "polish": 8, "galician": 8, "dzisiaj": 8, "szwecji": 8, "innych": 8, "bogatych": 8, "krajach": 8, "ludzi": 8, "u\u017cywaj\u0105": 8, "mn\u00f3stwo": 8, "najr\u00f3\u017cniejszych": 8, "urz\u0105dze\u0144": 8, "hox": 8, "suecia": 8, "outro": 8, "pa\u00eds": 8, "rico": 8, "xent": 8, "moita": 8, "m\u00e1quina": 8, "diferent": 8, "\u0142\u00f3dka": 8, "zaczyna": 8, "ton\u0105\u0107": 8, "tury\u015bci": 8, "wracaj\u0105": 8, "statek": 8, "dom\u00f3w": 8, "gdzie": 8, "opowiadaj\u0105": 8, "tym": 8, "jak": 8, "zostali": 8, "zaatakowani": 8, "surprisingli": 8, "shelf": 8, "unsettl": 8, "paradox": 8, "harbor": 8, "wisdom": 8, "aspir": 8, "technologist": 8, "disciplinari": 8, "ethicist": 8, "policymak": 8, "asa24": 8, "jide": 8, "jona": 8, "schuett": 8, "marku": 8, "anderljung": 8, "08751": 8, "bhy": 8, "hinton": 8, "pieter": 8, "abbeel": 8, "trevor": 8, "darrel": 8, "yuval": 8, "harari": 8, "ya": 8, "lan": 8, "shai": 8, "shalev": 8, "gillian": 8, "hadfield": 8, "clune": 8, "tegan": 8, "maharaj": 8, "hutter": 8, "at\u0131l\u0131m": 8, "g\u00fcne\u015f": 8, "baydin": 8, "sheila": 8, "mcilraith": 8, "qiqi": 8, "ashwin": 8, "acharya": 8, "anca": 8, "dragan": 8, "philip": 8, "torr": 8, "kahneman": 8, "s\u00f6ren": 8, "mindermann": 8, "amid": 8, "6698": 8, "1126": 8, "adn0117": 8, "bbc": 8, "emili": 8, "braca": 8, "israel": 8, "carter": 8, "hafsa": 8, "kanchwala": 8, "khojasteh": 8, "charli": 8, "landow": 8, "luo": 8, "magarelli": 8, "mirin": 8, "averi": 8, "moyer": 8, "kayla": 8, "simpson": 8, "amelia": 8, "skawinski": 8, "heverin": 8, "23308": 8, "bmc": 8, "dillon": 8, "brendan": 8, "murphi": 8, "khachaturov": 8, "gleav": 8, "kellin": 8, "pelrin": 8, "2408": [8, 9], "02946": 8, "cmm": 8, "lorenzo": 8, "malandri": 8, "mercorio": 8, "navid": 8, "nobani": 8, "seveso": 8, "15248": 8, "edg24": 8, "exa24": 8, "cyber": 8, "grb": 8, "rossi": 8, "barrow": 8, "mehrab": 8, "tanjim": 8, "sungchul": 8, "franck": 8, "dernoncourt": 8, "ruiyi": 8, "nesreen": 8, "00770": 8, "h44z": 8, "hgp": 8, "saadia": 8, "hamid": 8, "palangi": 8, "dipankar": 8, "ec": 8, "kamar": 8, "oxi": 8, "smaranda": 8, "muresan": 8, "preslav": 8, "nakov": 8, "alin": 8, "villavicencio": 8, "60th": 8, "3309": 8, "3326": 8, "dublin": 8, "hym": 8, "weijiang": 8, "weitao": 8, "weihong": 8, "zhangyin": 8, "haotian": 8, "qianglong": 8, "weihua": 8, "xiaocheng": 8, "bing": 8, "dx": 8, "3703155": 8, "iuc": 8, "kartikeya": 8, "upasani": 8, "jianfeng": 8, "krithika": 8, "tontchev": 8, "2312": 8, "06674": 8, "ldw": 8, "lijun": 8, "ruohui": 8, "xuhao": 8, "wangmeng": 8, "zuo": 8, "dahua": 8, "qiao": 8, "shao": 8, "05044": 8, "mpy": 8, "xuwang": 8, "zifan": 8, "norman": 8, "mu": 8, "elham": 8, "sakhae": 8, "nathaniel": 8, "forsyth": 8, "04249": 8, "ma24": 8, "mlc24": 8, "illumin": 8, "ailumin": 8, "oaa": 8, "adler": 8, "ahmad": 8, "ilg": 8, "akkaya": 8, "florencia": 8, "leoni": 8, "aleman": 8, "janko": 8, "altenschmidt": 8, "altman": 8, "shyamal": 8, "anadkat": 8, "avila": 8, "valeri": 8, "balcom": 8, "baltescu": 8, "haim": 8, "belgum": 8, "irwan": 8, "bello": 8, "jake": 8, "berdin": 8, "bernadett": 8, "shapiro": 8, "berner": 8, "lenni": 8, "bogdonoff": 8, "boiko": 8, "madelain": 8, "boyd": 8, "luisa": 8, "brakman": 8, "button": 8, "rosi": 8, "campbel": 8, "cann": 8, "brittani": 8, "carei": 8, "carlson": 8, "rori": 8, "carmichael": 8, "che": 8, "foti": 8, "sulli": 8, "rubi": 8, "chess": 8, "chester": 8, "cho": 8, "hyung": 8, "won": 8, "chung": 8, "jeremiah": 8, "currier": 8, "yunx": 8, "cori": 8, "decareaux": 8, "degri": 8, "deutsch": 8, "devil": 8, "dhar": 8, "dowl": 8, "dun": 8, "adrien": 8, "ecoffet": 8, "atti": 8, "eleti": 8, "tyna": 8, "elound": 8, "farhi": 8, "niko": 8, "sim\u00f3n": 8, "posada": 8, "fishman": 8, "juston": 8, "isabella": 8, "fulford": 8, "georg": 8, "gibson": 8, "vik": 8, "tarun": 8, "gogineni": 8, "goh": 8, "rapha": 8, "gontijo": 8, "lope": 8, "gordon": 8, "morgan": 8, "grafstein": 8, "yufei": 8, "hallaci": 8, "heaton": 8, "johann": 8, "heideck": 8, "hickei": 8, "wade": 8, "hoeschel": 8, "houghton": 8, "kenni": 8, "hsu": 8, "shengli": 8, "joost": 8, "huizinga": 8, "shawn": 8, "joann": 8, "jang": 8, "roger": 8, "haozhun": 8, "shino": 8, "jomoto": 8, "billi": 8, "jonn": 8, "tomer": 8, "kaftan": 8, "\u0142ukasz": 8, "kamali": 8, "ingmar": 8, "kanitscheid": 8, "tabarak": 8, "khan": 8, "logan": 8, "kilpatrick": 8, "jong": 8, "wook": 8, "christina": 8, "yongjik": 8, "hendrik": 8, "kirchner": 8, "kiro": 8, "matt": 8, "kokotajlo": 8, "kondraciuk": 8, "kondrich": 8, "konstantinidi": 8, "kosic": 8, "vishal": 8, "kuo": 8, "lamp": 8, "ikai": 8, "teddi": 8, "jade": 8, "leung": 8, "chak": 8, "lim": 8, "molli": 8, "mateusz": 8, "litwin": 8, "theresa": 8, "lopez": 8, "patricia": 8, "lue": 8, "makanju": 8, "malfacini": 8, "markov": 8, "yaniv": 8, "markovski": 8, "bianca": 8, "mayn": 8, "mckinnei": 8, "christin": 8, "mcleavei": 8, "mcmillan": 8, "mcneil": 8, "aalok": 8, "menick": 8, "mishchenko": 8, "vinni": 8, "monaco": 8, "murk": 8, "m\u00e9ly": 8, "ashvin": 8, "nair": 8, "reiichiro": 8, "nakano": 8, "rajeev": 8, "nayak": 8, "arvind": 8, "neelakantan": 8, "hyeonwoo": 8, "noh": 8, "keef": 8, "jakub": 8, "pachocki": 8, "palermo": 8, "ashlei": 8, "pantuliano": 8, "parish": 8, "emi": 8, "parparita": 8, "passo": 8, "perelman": 8, "belbut": 8, "pere": 8, "pokorni": 8, "pokrass": 8, "vitchyr": 8, "pong": 8, "tolli": 8, "powel": 8, "bori": 8, "proehl": 8, "rae": 8, "ramesh": 8, "franci": 8, "kendra": 8, "rimbach": 8, "carl": 8, "rotst": 8, "roussez": 8, "saltarelli": 8, "ted": 8, "sander": 8, "schnurr": 8, "selsam": 8, "kyla": 8, "sheppard": 8, "toki": 8, "sherbakov": 8, "shieh": 8, "shoker": 8, "pranav": 8, "szymon": 8, "sidor": 8, "sigler": 8, "sitkin": 8, "sokolowski": 8, "natali": 8, "staudach": 8, "madelein": 8, "phil": 8, "tootoonchian": 8, "tseng": 8, "preston": 8, "tuggl": 8, "turlei": 8, "juan": 8, "cer\u00f3n": 8, "urib": 8, "vallon": 8, "vijayvergiya": 8, "alvin": 8, "ward": 8, "cj": 8, "weinmann": 8, "akila": 8, "welihinda": 8, "jiayi": 8, "weng": 8, "lilian": 8, "wiethoff": 8, "willner": 8, "wolrich": 8, "lauren": 8, "workman": 8, "sherwin": 8, "yoo": 8, "zeller": 8, "shengjia": 8, "juntang": 8, "zhuk": 8, "2303": 8, "08774": 8, "pnc": 8, "inkit": 8, "manish": 8, "nagireddi": 8, "giandomenico": 8, "cornacchia": 8, "subhajit": 8, "chaudhuri": 8, "tejaswini": 8, "pedapati": 8, "pierr": 8, "dognin": 8, "keerthiram": 8, "murugesan": 8, "miehl": 8, "santill\u00e1n": 8, "kieran": 8, "giulio": 8, "zizzo": 8, "muhammad": 8, "zaid": 8, "hame": 8, "purcel": 8, "desmond": 8, "zahra": 8, "ashktorab": 8, "ing": 8, "vejsbjerg": 8, "dali": 8, "hind": 8, "werner": 8, "geyer": 8, "ambrish": 8, "rawat": 8, "kush": 8, "varshnei": 8, "prasanna": 8, "sattigeri": 8, "07724": 8, "pcz": 8, "shern": 8, "woodsid": 8, "hanlin": 8, "emmon": 8, "justifi": 8, "machiavelli": 8, "2304": 8, "03279": 8, "saffron": 8, "ring": 8, "aslanid": 8, "glaes": 8, "nat": 8, "mcalees": 8, "irv": 8, "2202": 8, "03286": 8, "sjls22": 8, "lingfeng": 8, "haiyun": 8, "lemao": 8, "backdoor": 8, "02993": 8, "szw": 8, "qinghua": 8, "higham": 8, "gorban": 8, "bastouni": 8, "ivan": 8, "tyukin": 8, "12670": 8, "vsk": 8, "simplesafetytest": 8, "2311": 8, "08370": 8, "wmr24": 8, "sandra": 8, "brent": 8, "mittelstadt": 8, "duti": 8, "royal": 8, "240197": 8, "royalsocietypublish": 8, "1098": 8, "rso": 8, "wcp": 8, "boxin": 8, "weixin": 8, "hengzhi": 8, "chulin": 8, "mintong": 8, "kang": 8, "chenhui": 8, "chejian": 8, "zidi": 8, "xiong": [8, 9], "ritik": 8, "truong": 8, "simran": 8, "arora": 8, "zinan": 8, "decodingtrust": 8, "11698": 8, "ylx24": 8, "jiahao": 8, "xingwei": 8, "zyi": 8, "shune": 8, "lyumanshan": 8, "jingyu": 8, "shui": 8, "haobin": 8, "pengfei": 8, "hewu": 8, "ghost": 8, "14931": 8, "zho24": 8, "amazonwservices24": 8, "anthropic24": 8, "cdn": 8, "1adf000c8f675958c2ee23805d91aaade1cd4613": 8, "centerfasafety24a": 8, "centerforaisafeti": 8, "centerfasafety24b": 8, "deepmind24": 8, "googleapi": 8, "fsf": 8, "europeanmagency24": 8, "ema": 8, "europa": 8, "activities_en": 8, "financialirauthority24": 8, "harmbench24": 8, "ibm24": 8, "watsonx": 8, "saa": 8, "libraryocongress23": 8, "loc": 8, "mistralai24": 8, "mlsteam24": 8, "mlsafeti": 8, "nationaliosatechnology24": 8, "nist": 8, "itl": 8, "nvidia24": 8, "openai24a": 8, "openai24b": 8, "opensafetylab24a": 8, "opensafetylab24b": 8, "protectai24": 8, "surgeai24": 8, "ukgovernment24": 8, "unicef24": 8, "innocenti": 8, "julia": 9, "easili": 9, "trial": 9, "wrangl": 9, "hoc": 9, "unwant": 9, "overflow": 9, "twitter": 9, "youtub": 9, "ldot": 9, "prod_": 9, "syntact": 9, "xml": 9, "invalid": 9, "delic": 9, "heart": 9, "ttt": 9, "itt": 9, "po": 9, "nousresearch": 9, "herm": 9, "person1": 9, "q1": 9, "person2": 9, "json_format": 9, "response_cont": 9, "is_json": 9, "myjson": 9, "nest": 9, "conceptu": 9, "unend": 9, "whitespac": 9, "throw": 9, "somewher": 9, "json_object": 9, "circul": 9, "vertex": 9, "went": 9, "secextract": 9, "mentioned_ent": 9, "mentioned_plac": 9, "extract_from_sec_fil": 9, "sec_filing_text": 9, "hint": 9, "prompt_extract": 9, "sec_extract": 9, "washington": 9, "beg": 9, "unnorm": 9, "0325": 9, "strongest": 9, "greedi": 9, "bfloat16": 9, "device_map": 9, "src": 9, "python3": 9, "nvml": 9, "return_tensor": 9, "pt": 9, "inference_mod": 9, "last_token_logit": 9, "next_token_prob": 9, "nn": 9, "dim": 9, "top_k_prob": 9, "top_k_indic": 9, "top_k_token": 9, "decod": 9, "idx": 9, "skip_special_token": 9, "prob": 9, "0305": 9, "0197": 9, "0106": 9, "0093": 9, "logitsprocessor": 9, "logits_processor": 9, "logitsprocessorlist": 9, "customlogitsprocessor": 9, "intermediari": 9, "input_id": 9, "__call__": 9, "longtensor": 9, "batch_siz": 9, "sequence_length": 9, "floattensor": 9, "vocab_s": 9, "mask": 9, "pick": 9, "yesnologitsprocessor": 9, "initial_length": 9, "fill_": 9, "inf": 9, "debug": 9, "yes_token": 9, "add_special_token": 9, "no_token": 9, "yes_no_logit": 9, "yes_no_prob": 9, "yes_prob": 9, "no_prob": 9, "yes_mask": 9, "1e4": 9, "NO": 9, "generation_output_control": 9, "uncontrol": 9, "generation_output": 9, "4263": 9, "5737": 9, "10407": 9, "4607": 9, "6250": 9, "9219": 9, "helper": 9, "model_output": 9, "gen_output": 9, "batch_decod": 9, "clean_up_tokenization_spac": 9, "classic": 9, "italian": 9, "willard": 9, "louf": 9, "reformul": 9, "finit": 9, "fsm": 9, "s_": 9, "s_t": 9, "s_1": 9, "tild": 9, "odot": 9, "rightarrow": 9, "thien": 9, "automaton": 9, "dfa": 9, "outgo": 9, "renorm": 9, "yy": 9, "ever": 9, "aa": 9, "lwai": 9, "prop": 9, "yynnaa": 9, "malform": 9, "sec_extraction_outlin": 9, "zsp": 9, "zicorp": 9, "with_structured_output": 9, "runnabl": 9, "typeddict": 9, "qu": 9, "langchain_openai": 9, "chatopenai": 9, "chatprompttempl": 9, "extract_from_sec_filing_langchain": 9, "structured_llm": 9, "from_messag": 9, "sec_extraction_langchain": 9, "bnf": 9, "backu": 9, "naur": 9, "fssl": 9, "extract_entities_from_sec_fil": 9, "ollama_structured_output_prompt_suffix": 9, "ollama_structured_output_temperatur": 9, "uncensor": 9, "model_json_schema": 9, "response_json": 9, "sharpli": 9, "exllama2": 9, "zoo": 9, "nonetheless": 9, "extran": 9, "dispar": 9, "preval": 9, "peer": 9, "speak": 9, "aider": 9, "outweigh": 9, "rebutt": 9, "dottxt": 9, "reproduct": 9, "paint": 9, "flaw": 9, "uneven": 9, "conflat": 9, "drawback": 9, "pfiffer": 9, "wrestl": 9, "aid24": 9, "dot24": 9, "demo": 9, "gge24": 9, "lan4b": 9, "lww": 9, "xun": 9, "hanyu": 9, "yezhaohui": 9, "shichao": 9, "simin": 9, "shunyu": 9, "feiyu": 9, "zhiyu": 9, "12599": 9, "llf": 9, "xieyang": 9, "frederick": 9, "fiannaca": 9, "terri": 9, "koo": 9, "dixon": 9, "ea": 9, "3613905": 9, "3650756": 9, "xuan": 9, "hai": 9, "nguyen": 9, "ngoc": 9, "tiviati": 9, "hieu": 9, "dao": 9, "shafiq": 9, "joti": 9, "kenji": 9, "kawaguchi": 9, "nanci": 9, "min": 9, "kan": 9, "08656": 9, "nou24": 9, "out24": 9, "twt": 9, "zhi": 9, "kuang": 9, "tsai": 9, "chieh": 9, "hung": 9, "nung": 9, "02442": 9, "tt24": 9, "vivien": 9, "vivien000": 9, "wl23": 9, "r\u00e9mi": 9, "09702": 9, "guidanceai24": 9, "nvidia4a": 9, "wikipediacontributors24": 9, "wiktionari": 9, "naur_form": 9}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 2], "book": [0, 2], "content": [0, 3, 4, 5, 6, 7, 8, 9], "core": 0, "challeng": [0, 6], "we": 0, "ll": 0, "address": 0, "A": [0, 2, 3, 4, 6], "practic": [0, 2, 7, 9], "approach": [0, 4, 8], "an": 0, "open": [0, 2, 7], "sourc": [0, 2, 7], "note": [0, 3, 6], "perspect": 0, "who": 0, "thi": 0, "i": [0, 3, 6], "For": 0, "outcom": 0, "prerequisit": 0, "set": 0, "up": 0, "your": [0, 7], "environ": 0, "code": 0, "repositori": 0, "python": 0, "setup": [0, 3], "api": [0, 8], "kei": [0, 5], "configur": 0, "troubleshoot": 0, "common": [0, 8], "issu": 0, "author": 0, "prefac": [1, 2], "tame": 2, "llm": [2, 4, 5, 6, 7, 8], "guid": 2, "pitfal": [2, 8], "softwar": [2, 5], "chapter": 2, "1": [2, 8], "The": [2, 4, 5, 7], "eval": [2, 5, 8], "gap": [2, 5], "2": [2, 7, 8], "structur": [2, 6, 9], "output": [2, 9], "3": [2, 8], "manag": [2, 6], "input": [2, 6], "data": [2, 3, 6], "4": [2, 8], "safeti": [2, 8], "5": [2, 8], "prefer": [2, 3], "base": [2, 3, 5, 6, 8], "align": [2, 3], "6": [2, 8], "local": [2, 7], "7": 2, "fall": [2, 4], "cost": [2, 4, 7], "paradox": [2, 4], "8": 2, "frontier": 2, "appendix": 2, "tool": [2, 5, 7, 8, 9], "resourc": 2, "introduct": [3, 5, 6, 7, 8, 9], "from": 3, "raw": 3, "capabl": 3, "On": 3, "misalign": 3, "languag": 3, "model": [3, 5, 7], "human": 3, "supervis": 3, "fine": [3, 7, 9], "tune": [3, 7, 9], "sft": 3, "augment": [3, 6], "post": [3, 9], "train": 3, "answer": 3, "limit": [3, 6], "collaps": 3, "fake": 3, "case": [3, 6, 7, 8], "studi": [3, 6, 7, 8], "polici": [3, 8], "experiment": 3, "deliver": 3, "smollm2": 3, "dataset": [3, 5, 7, 8], "synthet": 3, "gener": [3, 5, 6, 8], "user": [3, 8], "prompt": [3, 7, 9], "reject": 3, "respons": 3, "chosen": 3, "dpo": 3, "optim": [3, 4], "prepar": [3, 6], "vibe": 3, "check": [3, 4], "evalu": [3, 5, 8], "discuss": [3, 6, 9], "conclus": [3, 4, 5, 6, 7, 8, 9], "refer": [3, 4, 5, 6, 7, 8, 9], "why": 4, "matter": 4, "more": 4, "than": 4, "ever": 4, "right": 4, "size": 4, "strateg": 4, "metric": [4, 5], "requir": [4, 5], "busi": 4, "perform": [4, 7], "oper": 4, "technic": [4, 8], "quantiz": [4, 7], "list": 4, "non": 5, "determinist": 5, "machin": 5, "emerg": 5, "properti": 5, "problem": [5, 9], "statement": [5, 9], "tradit": 5, "v": [5, 7], "design": [5, 8], "applic": 5, "test": 5, "matrix": 5, "conceptu": 5, "overview": 5, "consider": 5, "task": [5, 7], "benchmark": [5, 7, 8], "leaderboard": 5, "lightev": 5, "mmlu": 5, "econometr": 5, "sampl": [5, 8], "famili": [5, 7], "us": [5, 6], "langsmith": 5, "promptfoo": 5, "comparison": [5, 7, 9], "pars": 6, "document": 6, "markitdown": 6, "docl": 6, "extract": 6, "retriev": 6, "rag": 6, "pipelin": 6, "knowledg": 6, "vector": 6, "databas": 6, "rerank": 6, "Will": 6, "exist": [6, 8], "futur": 6, "framework": [6, 8, 9], "chunk": 6, "contextu": 6, "link": 6, "long": 6, "form": 6, "ii": 6, "quiz": 6, "citat": 6, "implement": [6, 8], "exampl": 6, "usag": 6, "choos": 7, "suitabl": 7, "result": 7, "llama": 7, "licens": 7, "commun": 7, "support": 7, "custom": [7, 8], "mistral": [7, 8], "decemb": 7, "22": 7, "2024": 7, "deploy": 7, "serv": 7, "cpp": 7, "llamafil": 7, "ollama": [7, 9], "lama": 7, "ui": 7, "lm": 7, "studio": 7, "jan": 7, "webui": 7, "openwebui": 7, "effect": 7, "level": 7, "hardwar": 7, "takeawai": [7, 8], "risk": 8, "ai": 8, "amplifi": 8, "harm": 8, "novel": 8, "associ": 8, "autonom": 8, "exacerb": 8, "factor": 8, "specif": 8, "guidanc": 8, "govern": 8, "organ": 8, "privat": 8, "sector": 8, "openai": 8, "anthrop": 8, "googl": 8, "rubric": 8, "mlcommon": 8, "centr": 8, "porquoi": 8, "red": 8, "team": 8, "constitut": 8, "explain": 8, "xai": 8, "plan": 8, "phase": 8, "definit": 8, "research": [8, 9], "identif": 8, "architectur": 8, "select": 8, "go": 8, "market": 8, "compon": 8, "salad": 8, "bench": 8, "truthfulqa": 8, "harmbench": 8, "safebench": 8, "techniqu": [8, 9], "repres": 8, "layer": 8, "map": 8, "rule": 8, "filter": 8, "moder": 8, "bad": 8, "good": 8, "guard": 8, "judg": 8, "valid": 8, "engin": 9, "json": 9, "mode": 9, "logit": 9, "process": 9, "outlin": 9, "langchain": 9, "best": 9, "compar": 9, "solut": 9, "ongo": 9, "debat": 9, "acknowledg": 9}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 57}, "alltitles": {"About the Book": [[0, "about-the-book"], [2, "about-the-book"]], "Contents": [[0, "contents"], [3, "contents"], [4, "contents"], [5, "contents"], [6, "contents"], [7, "contents"], [8, "contents"], [9, "contents"]], "Core Challenges We\u2019ll Address": [[0, "core-challenges-we-ll-address"]], "A Practical Approach": [[0, "a-practical-approach"]], "An Open Source Approach": [[0, "an-open-source-approach"]], "Open Source Book": [[0, "open-source-book"]], "A Note on Perspective": [[0, "a-note-on-perspective"]], "Who This Book Is For": [[0, "who-this-book-is-for"]], "Outcomes": [[0, "outcomes"]], "Prerequisites": [[0, "prerequisites"]], "Setting Up Your Environment": [[0, "setting-up-your-environment"]], "Code Repository": [[0, "code-repository"]], "Python Environment Setup": [[0, "python-environment-setup"]], "API Keys Configuration": [[0, "api-keys-configuration"]], "Troubleshooting Common Issues": [[0, "troubleshooting-common-issues"]], "About the Author": [[0, "about-the-author"]], "Preface": [[1, "preface"], [2, "preface"]], "Taming LLMs": [[2, "taming-llms"]], "A Practical Guide to LLM Pitfalls with Open Source Software": [[2, "a-practical-guide-to-llm-pitfalls-with-open-source-software"]], "Chapter 1: The Evals Gap": [[2, "chapter-1-the-evals-gap"]], "Chapter 2: Structured Output": [[2, "chapter-2-structured-output"]], "Chapter 3: Managing Input Data": [[2, "chapter-3-managing-input-data"]], "Chapter 4: Safety": [[2, "chapter-4-safety"]], "Chapter 5: Preference-Based Alignment": [[2, "chapter-5-preference-based-alignment"]], "Chapter 6: Local LLMs in Practice": [[2, "chapter-6-local-llms-in-practice"]], "Chapter 7: The Falling Cost Paradox": [[2, "chapter-7-the-falling-cost-paradox"]], "Chapter 8: Frontiers": [[2, "chapter-8-frontiers"]], "Appendix A: Tools and Resources": [[2, "appendix-a-tools-and-resources"]], "Preference-Based Alignment": [[3, "preference-based-alignment"]], "Introduction": [[3, "introduction"], [5, "introduction"], [6, "introduction"], [7, "introduction"], [8, "introduction"], [9, "introduction"]], "From Raw Capabilities to Preference Alignment": [[3, "from-raw-capabilities-to-preference-alignment"]], "On the Misalignment of Language Models": [[3, "on-the-misalignment-of-language-models"]], "Aligning Language Models with Human Preferences": [[3, "aligning-language-models-with-human-preferences"]], "Supervised Fine-Tuning (SFT) for Model Alignment": [[3, "supervised-fine-tuning-sft-for-model-alignment"]], "Augmenting SFT with Human Preferences": [[3, "augmenting-sft-with-human-preferences"]], "Is Post-Training the Answer?": [[3, "is-post-training-the-answer"]], "Limitations": [[3, "limitations"]], "Model Collapse": [[3, "model-collapse"]], "Faking Alignment": [[3, "faking-alignment"]], "Case Study: Aligning a Language Model to a Policy": [[3, "case-study-aligning-a-language-model-to-a-policy"]], "Experimental Setup": [[3, "experimental-setup"]], "Deliverables": [[3, "deliverables"]], "A Note on smolLM2 Models": [[3, "a-note-on-smollm2-models"]], "Policy": [[3, "policy"]], "Preference Dataset - Synthetic Dataset Generation": [[3, "preference-dataset-synthetic-dataset-generation"]], "User Prompts": [[3, "user-prompts"]], "Rejected Responses": [[3, "rejected-responses"]], "Chosen Responses": [[3, "chosen-responses"]], "Generate DPO Dataset": [[3, "generate-dpo-dataset"]], "DPO-Based Optimization": [[3, "dpo-based-optimization"]], "Data Preparation": [[3, "data-preparation"]], "Fine-Tuning": [[3, "fine-tuning"]], "Vibe Check": [[3, "vibe-check"]], "Alignment Evaluation": [[3, "alignment-evaluation"]], "Discussion and Conclusions": [[3, "discussion-and-conclusions"]], "References": [[3, "references"], [4, "references"], [5, "references"], [6, "references"], [7, "references"], [8, "references"], [9, "references"]], "The Falling Cost Paradox": [[4, "the-falling-cost-paradox"]], "Why Optimization Matters More Than Ever": [[4, "why-optimization-matters-more-than-ever"]], "Right-Sizing LLMs: A Strategic Approach": [[4, "right-sizing-llms-a-strategic-approach"]], "Metrics": [[4, "metrics"], [5, "metrics"]], "Requirements": [[4, "requirements"]], "Business Requirements": [[4, "business-requirements"]], "Performance Requirements": [[4, "performance-requirements"]], "Operational Requirements": [[4, "operational-requirements"]], "Technical Requirements": [[4, "technical-requirements"]], "Quantization": [[4, "quantization"], [7, "quantization"]], "Check-list": [[4, "check-list"]], "Conclusion": [[4, "conclusion"], [5, "conclusion"], [6, "conclusion"], [7, "conclusion"], [8, "conclusion"], [9, "conclusion"]], "The Evals Gap": [[5, "the-evals-gap"]], "Non-Deterministic Generative Machines": [[5, "non-deterministic-generative-machines"]], "Emerging Properties": [[5, "emerging-properties"]], "Problem Statement": [[5, "problem-statement"], [9, "problem-statement"]], "Evals of Traditional Software vs LLMs": [[5, "evals-table"]], "Evals Design": [[5, "evals-design"]], "LLM Application Testing Requirements Matrix": [[5, "validation-requirements"]], "Conceptual Overview": [[5, "conceptual-overview"]], "Design Considerations": [[5, "design-considerations"]], "Key Metrics for Evaluating Generative Tasks": [[5, "key-metrics"]], "Evaluators": [[5, "evaluators"]], "Model-Based Evaluation": [[5, "model-based-evaluation"]], "Evaluating Evaluators": [[5, "evaluating-evaluators"]], "Benchmarks and Leaderboards": [[5, "benchmarks-and-leaderboards"]], "Tools": [[5, "tools"], [9, "tools"]], "LightEval": [[5, "lighteval"]], "MMLU Econometrics Task Dataset sample": [[5, "mmlu-econometrics"]], "Model Families Evaluated Using LightEval": [[5, "model-families"]], "LangSmith": [[5, "langsmith"]], "PromptFoo": [[5, "promptfoo"]], "Comparison": [[5, "comparison"], [7, "comparison"], [7, "id37"]], "Comparison of Lighteval, LangSmith, and Promptfoo": [[5, "tool-comparison"]], "Managing Input Data": [[6, "managing-input-data"]], "Parsing Documents": [[6, "parsing-documents"]], "MarkItDown": [[6, "markitdown"]], "Docling": [[6, "docling"]], "Structured Data Extraction": [[6, "structured-data-extraction"]], "Retrieval-Augmented Generation": [[6, "retrieval-augmented-generation"]], "RAG Pipeline": [[6, "rag-pipeline"]], "Preparing the Knowledge Base": [[6, "preparing-the-knowledge-base"]], "Vector Database": [[6, "vector-database"]], "Reranking": [[6, "reranking"]], "LLMs with RAG": [[6, "llms-with-rag"]], "Challenges and Limitations": [[6, "challenges-and-limitations"]], "Will RAGs exist in the future?": [[6, "will-rags-exist-in-the-future"]], "A Note on Frameworks": [[6, "a-note-on-frameworks"]], "Case Studies": [[6, "case-studies"]], "Case Study I: Content Chunking with Contextual Linking": [[6, "case-study-i-content-chunking-with-contextual-linking"]], "Generating long-form content": [[6, "generating-long-form-content"]], "Discussion": [[6, "discussion"], [6, "id39"], [9, "discussion"]], "Case Study II: Quiz Generation with Citations": [[6, "case-study-ii-quiz-generation-with-citations"]], "Use Case": [[6, "use-case"]], "Implementation": [[6, "implementation"]], "Example Usage": [[6, "example-usage"]], "Local LLMs in Practice": [[7, "local-llms-in-practice"]], "Choosing your Model": [[7, "choosing-your-model"]], "Task Suitability": [[7, "task-suitability"]], "Benchmark results for Llama 2 family of models.": [[7, "llama2-benchmark"]], "Performance & Cost": [[7, "performance-cost"]], "Licensing": [[7, "licensing"]], "Open Source LLMs.": [[7, "open-source-llms"]], "Community Support": [[7, "community-support"]], "Customization": [[7, "customization"]], "Mistral fine-tuning costs as of December 22, 2024.": [[7, "mistral-costs"]], "Tools for Local LLM Deployment": [[7, "tools-for-local-llm-deployment"]], "Serving Models": [[7, "serving-models"]], "LLama.cpp": [[7, "llama-cpp"]], "Llamafile": [[7, "llamafile"]], "Ollama": [[7, "ollama"], [9, "ollama"]], "lama.cpp vs Ollama vs Llamafile Comparison": [[7, "feature-comparison-local"]], "UI": [[7, "ui"]], "LM Studio": [[7, "lm-studio"]], "Jan": [[7, "jan"]], "Open WebUI": [[7, "open-webui"]], "LM Studio vs Jan vs OpenWebUI Comparison": [[7, "feature-comparison-ui"]], "Case Study: The Effect of Quantization on LLM Performance": [[7, "case-study-the-effect-of-quantization-on-llm-performance"]], "Prompts Dataset": [[7, "prompts-dataset"]], "Quantization Levels": [[7, "quantization-levels"]], "Benchmarking": [[7, "benchmarking"], [8, "benchmarking"]], "Results": [[7, "results"]], "Quantization Benchmarks": [[7, "quantization-benchmarks"]], "Benchmarking Hardware": [[7, "benchmarking-hardware"]], "Takeaways": [[7, "takeaways"], [8, "takeaways"]], "Safety": [[8, "safety"]], "Safety Risks": [[8, "safety-risks"]], "General AI Safety Risks": [[8, "general-ai-safety-risks"]], "Amplified Existing Harms and Novel Risks": [[8, "amplified-existing-harms-and-novel-risks"]], "Risks Associated with Autonomous AI": [[8, "risks-associated-with-autonomous-ai"]], "Exacerbating Factors": [[8, "exacerbating-factors"]], "LLMs Specific Safety Risks": [[8, "llms-specific-safety-risks"]], "Guidance": [[8, "guidance"]], "Governments & Organizations": [[8, "governments-organizations"]], "Private Sector": [[8, "private-sector"]], "OpenAI": [[8, "openai"]], "Anthropic": [[8, "anthropic"]], "Google": [[8, "google"]], "Rubrics": [[8, "rubrics"]], "MLCommons AI Safety Benchmark": [[8, "mlcommons-ai-safety-benchmark"]], "Centre for the Governance of AI Rubric": [[8, "centre-for-the-governance-of-ai-rubric"]], "Porquoi": [[8, "porquoi"]], "Approaches": [[8, "approaches"]], "Red Teaming": [[8, "red-teaming"]], "Constitutional AI": [[8, "constitutional-ai"]], "Explainable AI (XAI)": [[8, "explainable-ai-xai"]], "Designing a Safety Plan": [[8, "designing-a-safety-plan"]], "Phase 1. Policy Definition": [[8, "phase-1-policy-definition"]], "Phase 2. User Research & Risk Identification": [[8, "phase-2-user-research-risk-identification"]], "Phase 3. Evaluation Framework": [[8, "phase-3-evaluation-framework"]], "Phase 4. Safety Architecture Design": [[8, "phase-4-safety-architecture-design"]], "Phase 5. Implementation & Tools Selection": [[8, "phase-5-implementation-tools-selection"]], "Phase 6. Go-to-Market": [[8, "phase-6-go-to-market"]], "Common Pitfalls": [[8, "common-pitfalls"]], "Technical Implementation Components": [[8, "technical-implementation-components"]], "Benchmarks & Datasets": [[8, "benchmarks-datasets"]], "SALAD-Bench": [[8, "salad-bench"]], "TruthfulQA": [[8, "truthfulqa"]], "HarmBench": [[8, "harmbench"]], "SafeBench": [[8, "safebench"]], "Tools & Techniques": [[8, "tools-techniques"]], "Representative Safety Layer Risk Map.": [[8, "safety-layer-table"]], "Rules-Based Safety Filtering": [[8, "rules-based-safety-filtering"]], "Rules-Based Safety Filtering Tools.": [[8, "safety-layer-tools"]], "LLM-Based Safety Filtering": [[8, "llm-based-safety-filtering"]], "Custom Moderation": [[8, "custom-moderation"]], "Case Study: Implementing a Safety Filter": [[8, "case-study-implementing-a-safety-filter"]], "Evals Dataset": [[8, "evals-dataset"]], "Bad Samples": [[8, "bad-samples"]], "Good Samples": [[8, "good-samples"]], "Safety Filters": [[8, "safety-filters"]], "LLM-Guard": [[8, "llm-guard"]], "Mistral Moderation API": [[8, "mistral-moderation-api"]], "OpenAI Moderation API": [[8, "openai-moderation-api"]], "Custom Judge Validator": [[8, "custom-judge-validator"]], "Structured Output": [[9, "structured-output"]], "Techniques": [[9, "techniques"]], "Prompt Engineering": [[9, "prompt-engineering"]], "JSON Mode (Fine-Tuned)": [[9, "json-mode-fine-tuned"]], "Logit Post-Processing": [[9, "logit-post-processing"]], "Outlines": [[9, "outlines"]], "LangChain": [[9, "langchain"]], "Best Practices": [[9, "best-practices"]], "Comparing Solutions": [[9, "comparing-solutions"]], "Structured Output Frameworks Comparison": [[9, "structured-output-frameworks"]], "Research and Ongoing Debate": [[9, "research-and-ongoing-debate"]], "Acknowledgements": [[9, "acknowledgements"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/tamingllms/_build/jupyter_execute/markdown/intro.ipynb b/tamingllms/_build/jupyter_execute/markdown/intro.ipynb index e2c83b2..a2a1ee3 100644 --- a/tamingllms/_build/jupyter_execute/markdown/intro.ipynb +++ b/tamingllms/_build/jupyter_execute/markdown/intro.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "35601299", + "id": "4bbf1402", "metadata": {}, "source": [ "(intro)=\n", @@ -31,11 +31,15 @@ "\n", "3. **Testing Complexity**: Traditional software testing methodologies break down when dealing with non-deterministic and generative systems, requiring new approaches.\n", "\n", - "4. **Safety and Alignment**: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment.\n", + "4. **Safety**: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment.\n", "\n", - "5. **Vendor Lock-in**: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions.\n", + "5. **Alignment**: LLMs are next-token prediction models, which means they are not aligned with the user's preferences by default.\n", "\n", - "6. **Cost Optimization**: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization.\n", + "6. **Vendor Lock-in**: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions.\n", + "\n", + "7. **Cost Optimization**: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization.\n", + "\n", + "We conclude with a discussion on the future of LLMs and the challenges that will arise as we move forward.\n", "\n", "\n", "## A Practical Approach\n", @@ -167,7 +171,7 @@ "\n", "## About the Author\n", "\n", - "Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (*incoming*) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students & working professionals to help create a more diverse global AI1 ecosystem.\n", + "Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (*incoming*) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students & working professionals to help create a more diverse global AI ecosystem.\n", "\n", "With over 15 years of experience delivering technology products across startups and Fortune 500 companies, he is also an author of numerous scholarly publications and a frequent speaker at academic and business conferences. Grounded on academic background and drawing from practical experience building and scaling up products powered by language models at early-stage startups, major institutions as well as contributing to open source projects, he brings a unique perspective on bridging the gap between LLMs promised potential and their practical implementation challenges to enable the next generation of AI-powered products." ] diff --git a/tamingllms/_build/jupyter_execute/notebooks/cost.ipynb b/tamingllms/_build/jupyter_execute/notebooks/cost.ipynb index af0f848..9f62182 100644 --- a/tamingllms/_build/jupyter_execute/notebooks/cost.ipynb +++ b/tamingllms/_build/jupyter_execute/notebooks/cost.ipynb @@ -315,7 +315,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Quantization is a powerful technique for reducing the memory footprint of LLMs. This can be exemplified by the case of LLaMa 3.3 70B as quantized by {cite}`unsloth2024llama3` [^unsloth]. The model's memory requirements vary significantly based on the quantization level used as demonstrated in {numref}`quantized`.\n", + "Quantization[^visual-quantization] is a powerful technique for reducing the memory footprint of LLMs. This can be exemplified by the case of LLaMa 3.3 70B as quantized by {cite}`unsloth2024llama3` [^unsloth]. The model's memory requirements vary significantly based on the quantization level used as demonstrated in {numref}`quantized`.\n", + "\n", + "[^visual-quantization]: Maarten Grootendorst provides the best visual guide for model quantization {cite}`grootendorst2024quantization`.\n", "\n", "[^unsloth]: Unsloth runs a business of making LLMs fine-tuning streamlined. Check them out at [unsloth.ai](https://unsloth.ai).\n", "\n", diff --git a/tamingllms/_build/jupyter_execute/notebooks/evals.ipynb b/tamingllms/_build/jupyter_execute/notebooks/evals.ipynb index 150868e..cad1768 100644 --- a/tamingllms/_build/jupyter_execute/notebooks/evals.ipynb +++ b/tamingllms/_build/jupyter_execute/notebooks/evals.ipynb @@ -853,7 +853,7 @@ "4. **Run Evaluations**: Use the judge model to score outputs. Consider using a large and/or more capable model as a judge to provide more nuanced assessments.\n", "5. **Aggregate and Analyze Results**: Interpret scores to refine applications.\n", "\n", - "```{figure} ../_static/evals/llm_judge.svg\n", + "```{figure} ../_static/evals/llm_judge.png\n", "---\n", "name: llm_judge\n", "alt: Conceptual Overview\n", @@ -1187,11 +1187,11 @@ "\n", "An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is [Judge Arena](https://judgearena.com/) {cite}`judgearena2024`, which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in {numref}`meta2`. Only after submitting a vote, users can see which models were actually doing the judging.\n", "\n", - "```{figure} ../_static/evals/meta2.svg\n", + "```{figure} ../_static/evals/meta2.png\n", "---\n", "name: meta2\n", "alt: Human-in-the-loop meta evaluation Conceptual Overview\n", - "scale: 60%\n", + "scale: 75%\n", "align: center\n", "---\n", "Human-in-the-loop Meta Evaluation.\n", diff --git a/tamingllms/_build/jupyter_execute/notebooks/input.ipynb b/tamingllms/_build/jupyter_execute/notebooks/input.ipynb index c2cb84f..9656c0c 100644 --- a/tamingllms/_build/jupyter_execute/notebooks/input.ipynb +++ b/tamingllms/_build/jupyter_execute/notebooks/input.ipynb @@ -12,11 +12,6 @@ "-- Steve Jobs\n", "```\n", "```{contents}\n", - "```\n", - "\n", - "\n", - "```{note}\n", - "This Chapter is Work-in-Progress.\n", "```" ] }, @@ -26,20 +21,22 @@ "source": [ "## Introduction\n", "\n", - "Large Language Models face several critical challenges in effectively processing input data. While advances in long-context language models (LCLMs) {cite}`lee2024longcontextlanguagemodelssubsume` have expanded the amount of information these systems can process simultaneously, significant challenges remain in managing and effectively utilizing extended inputs. \n", + "While advances in long-context language models (LCs) {cite}`lee2024longcontextlanguagemodelssubsume` have expanded the amount of information these systems can process, significant challenges remain in managing and effectively utilizing extended data inputs:\n", "\n", - "LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results {cite}`tan2024htmlraghtmlbetterplain`. They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy {cite}`amayuelas-etal-2024-knowledge`. LLMs also struggle with less common but important information showing a systematic loss of long-tail knowledge {cite}`kotha2024understanding`.\n", + "- LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results {cite}`he2024doespromptformattingimpact, liu2024enhancingllmscognitionstructurization, tan2024htmlraghtmlbetterplain`.\n", + "- They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy {cite}`amayuelas-etal-2024-knowledge`.\n", + "- LLMs also face \"lost-in-the-middle\" problems {cite}`wu2024longdocumentsummaryevaluation` and struggle with less common but important information showing a systematic loss of long-tail knowledge {cite}`kotha2024understanding`.\n", "\n", - "Motivated by these challenges, this chapter explores two key components:\n", + "Motivated by these challenges, this chapter explores two key input data components:\n", "\n", - "1. Data Parsing: Parsing documents into a unified format that is suitable for LLMs to process.\n", + "1. Data Parsing and Chunking: Parsing and chunking documents into a unified format that is suitable and more manageable for LLMs to process.\n", "2. Retrieval Augmentation: Augmenting LLMs with the ability to retrieve relevant, recent, and specialized information.\n", "\n", "In data parsing, we will explore some useful open source tools that help transform data into LLM-compatible formats, demonstrating their impact through a case study of structured information extraction from complex PDFs. In a second case study, we will introduce some chunking strategies to help LLMs process long inputs and implement a particular technique called Chunking with Contextual Linking the enables contextually relevant chunk processing.\n", "\n", - "In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation). Through a detailed case study, we build a RAG system for querying live codebases, illustrating methods to bridge static model knowledge with dynamic information requirements.\n", + "In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation) while discussing whether RAGs will be really needed in the future given the rise of long-context language models.\n", "\n", - "In our last case study, we build a quiz generator using a LLM with large context window. We will explore some additional relevant techniques such as prompt caching and response verification through citations.\n", + "While RAGs are useful for incorporating external context, they are not a silver bullet nor a mandatory component for all LLM applications. In our last case study, we leverage long-context windows to build a quiz generator from a large knowledge base. We will also explore some additional relevant techniques such as prompt caching and response verification through citations.\n", "\n", "By the chapter's conclusion, readers will possess relevant knowledge of input data management strategies for LLMs and practical expertise in selecting and implementing appropriate approaches and tools for specific use cases." ] @@ -50,9 +47,11 @@ "source": [ "## Parsing Documents\n", "\n", - "Building robust data ingestion and preprocessing pipelines is essential for any LLM application. This section explores tools and frameworks that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the performance of the LLM.\n", + "Data parsing and formatting play a critical role in LLMs performance {cite}`he2024doespromptformattingimpact, liu2024enhancingllmscognitionstructurization, tan2024htmlraghtmlbetterplain`. Hence, building robust data ingestion and preprocessing pipelines is essential for any LLM application. \n", + "\n", + "This section explores open source tools that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the LLM performance.\n", "\n", - "We will cover open source tools and frameworks that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs also discussing how the quality of the parser can impact LLM's performance." + "We will cover open source tools that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs demonstrating how the quality of the parser can impact LLM's performance." ] }, { @@ -61,7 +60,7 @@ "source": [ "### MarkItDown\n", "\n", - "MarkItDown is a Python package and CLI too developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.\n", + "MarkItDown {cite}`microsoft2024markitdown` is a Python package and CLI tool developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.\n", "\n", "Key features:\n", "- Simple command-line and Python API interfaces\n", @@ -81,7 +80,7 @@ "\n", "### Docling\n", "\n", - "Docling is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.\n", + "Docling {cite}`docling2024github` is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.\n", "\n", "Key features:\n", "- Support for multiple document formats (PDF, DOCX, PPTX, XLSX, Images, HTML, etc.)\n", @@ -101,13 +100,6 @@ "```" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Frameworks-Based Parsing\n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -119,17 +111,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "A common use case where document parsing matters is to structured data extraction from documents, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite:p}`merrill2024`. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see {numref}`forecast`)\n", + "A common use case where document parsing matters is structured data extraction, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite}`merrill2024`. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see {numref}`forecast`).\n", "\n", "\n", "```{figure} ../data/input/forecast.png\n", "---\n", "name: forecast\n", "alt: Forecast\n", - "scale: 50%\n", + "scale: 45%\n", "align: center\n", "---\n", - "Forecast\n", + "Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite}`merrill2024`\n", "```" ] }, @@ -184,7 +176,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "How similar are the two results? We can use use Levenshtein distance to measure the similarity between the two results. We will also calculate a naive score using the `SequenceMatcher` from the `difflib` package, which is a simple measure of the similarity between two strings based on the number of matches in the longest common subsequence." + "How similar are the two results? We can use use Levenshtein distance to measure the similarity between the two results. We will also calculate a naive score using the `SequenceMatcher` from the `difflib` package, which is a simple measure of similarity between two strings based on the number of matches in the longest common subsequence." ] }, { @@ -256,7 +248,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "It turns out that the two results are quite different, with a similarity score of about 13.98% and 17.77% for Levenshtein and `SequenceMatcher` respectively." + "It turns out that the two results are quite different, with a similarity score of about 13.98% and 17.77% for Levenshtein and `SequenceMatcher`, respectively." ] }, { @@ -351,7 +343,7 @@ "scale: 45%\n", "align: center\n", "---\n", - "Forecast 2025\n", + "Merrill Lynch's CIO Economic Forecasts.\n", "```\n", "\n", "We will define a `Forecast` pydantic model to represent an economic forecast composed of a `financial_variable` and a `financial_forecast`. We will also define a `EconForecast` pydantic model to represent the list of economic forecasts we want to extract from the document.\n" @@ -375,7 +367,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We write a simple function to extract the economic forecasts from the document using an LLM model (with structured output) with the following prompt template, where `extract_prompt` is kind of data the user would like to extract and `doc` is the input document to analyze." + "We write a simple function to extract the economic forecasts from the document using an LLM model (with structured output) with the following prompt template, where `extract_prompt` represents the kind of data the user would like to extract and `doc` is the input document to analyze." ] }, { @@ -682,7 +674,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now, let's focus on the asset class weightings. We will extract the asset class weightings from the document and compare the results from MarkItDown and Docling. The information now is presented in a quite different structure. The CIO view information is represented in a spectrum from starting with \"Underweight\", passing through \"Neutral\" and reaching \"Overweight\". The actual view is marked by some colored dots in the chart. Let's see if we can extract this information from the document.\n", + "Now, let's focus on the asset class weightings. We will extract the asset class weightings from the document and compare the results from MarkItDown and Docling. The information now is presented in a quite different structure as we can see in {ref}`asset_class`. The CIO view information is represented in a spectrum starting with \"Underweight\", passing through \"Neutral\" and reaching \"Overweight\". The actual view is marked by some colored dots in the chart. Let's see if we can extract this relatively more complex information from the document.\n", "```{figure} ../_static/input/asset_class.png\n", "---\n", "name: asset_class\n", @@ -729,7 +721,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now we construct a DataFrame to compare the results from MarkItDown and Docling with an added \"true_value\" column containing the true values from the document, which we extracted manually from the chart." + "We construct a DataFrame to compare the results from MarkItDown and Docling with an added \"true_value\" column containing the true values from the document, which we extracted manually from the chart. This enables us to calculate accuracy of the structured data extraction task in case." ] }, { @@ -936,7 +928,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Docling performs significantly better at 93.33% accuracy missing only one value. MarkItDown achieves 53.33% accuracy, struggling with nuanced asset class weightings. In this case, Docling's structured parsed output did help the LLM to extract the information more accurately compared to MarkItDown's unstructured output. Hence, in this case, the strategy used to parse the data did impact the LLM's ability to extract the information. A more robust analysis would run data extraction on a large sample data a number of repeated runs to estimate error rates." + "We observe that Docling performs significantly better at 93.33% accuracy missing only one value. MarkItDown achieves 53.33% accuracy struggling with nuanced asset class weightings. In this case, Docling's structured parsed output did help the LLM to extract the information more accurately compared to MarkItDown's unstructured output. Hence, in this case, the strategy used to parse the data did impact the LLM's ability to extract structured information. Having said that, it is important to mention that a more robust analysis would run data extraction on a large sample data a number of repeated runs to estimate error rates since results are non-deterministic." ] }, { @@ -945,8 +937,8 @@ "source": [ "What if we want to systematically extract all tables from the document? We can use Docling to do that by simply accessing the `tables` attribute of the `DocumentConverter` object.\n", "\n", - "By doing that, we observe that Docling extracted 7 tables from the document. Exporting tables from top down and left to right in order of appearance in the document.\n", - "Below, we can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.\n" + "By doing that, we observe that Docling extracted 7 tables from the document exporting tables from top down and left to right in order of appearance in the document.\n", + "Below, we display the first two and the last tables. We can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.\n" ] }, { @@ -1593,7 +1585,14 @@ "- The description mentions \"overweight positions in certain sectors such as Utilities and Financials\" but looking at the CIO Equity Sector Views, both these sectors show neutral positions, not overweight positions.\n", "- For fixed income, the description cites a \"10-Year (4.03%)\" yield, but the image shows the 30-Year Yield at 4.03%, while the 10-Year Yield is actually 4.40%.\n", "\n", - "Arguably, the description's inaccuracies could be a consequence of the underlying LLM model's inability to process the image. Further research is needed to determine if this is the case." + "Arguably, the description's inaccuracies could be a consequence of the underlying LLM model's inability to process the image.\n", + "\n", + "We have covered MarkitDown and Docling as examples of open source tools that can help developers parse input data into a suitable format to LLMs. Other relevant open source tools worth mentioning include:\n", + "- Unstructured.io {cite}`unstructured2024github`: A Python library for unstructured data extraction.\n", + "- FireCrawl {cite}`mendable2024firecrawl`: A Fast and Efficient Web Crawler for LLM Training Data.\n", + "- LlamaParse {cite}`llamaparse2024github`: Llamaindex's data parsing solution.\n", + "\n", + "The choice of tool depends on the specific requirements of the application and the nature of the input data. This choice should be taken as a critical decision of any data intensive LLM-based application and deserves dedicated research and evidence-based experimentation.\n" ] }, { @@ -1602,75 +1601,152 @@ "source": [ "## Retrieval-Augmented Generation\n", "\n", - "RAG is a technique that allows LLMs to retrieve information from a knowledge base to answer questions. It is a popular technique for building LLM applications that require knowledge-intensive tasks {cite}`lewis2021retrievalaugmentedgenerationknowledgeintensivenlp`.\n", + "What happens if we asked ChatGPT who's the author of the book \"Taming LLMs\"?\n", "\n", - "RAG utilizes a retrieval system to fetch external knowledge and augment the LLM. It has proved effective in mitigating hallucinations of LLMs {cite}`10.1145/3589334.3645481, ni-etal-2024-llms`." + "\n" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 1, "metadata": {}, + "outputs": [], "source": [ - "## Case Studies\n", - "\n", - "This section presents three case studies that demonstrate practical solutions to common LLM limitations:\n", - "\n", - "First, Content Chunking with Contextual Linking showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.\n", + "from dotenv import load_dotenv\n", + "import os\n", "\n", - "Second, a Retrieval Augmented Generation case study addresses the challenge of stale or outdated model knowledge. By implementing semantic search over a GitHub repository, this example demonstrates how to augment LLM responses with current, accurate information - allowing users to query and receive up-to-date answers about code repository contents.\n", + "# Load environment variables from .env file\n", + "load_dotenv()\n", "\n", - "Third, the final case study builds a Quiz generator with citations. This case study explores some additional input management techniques that become particularly useful when long context window is available. This includes implementing prompt caching for efficiency and adding citations to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality." + "from openai import OpenAI\n", + "client = OpenAI()\n", + "model = \"gpt-4o-mini\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "question = \"Who's the Author of the Book Taming LLMs?\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The book \"Taming LLMs\" is authored by *G. Arulkumaran, H. M. B. P. D. Karthikeyan, and I. A. M. Almasri.* If you need more information about the book or its contents, feel free to ask!\n" + ] + } + ], + "source": [ + "response = client.chat.completions.parse(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": question}\n", + " ]\n", + ")\n", + "response.choices[0].message.content" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Case Study I: Content Chunking with Contextual Linking\n", + "Turns out ChatGPT hallucinates. A quick web search on the before mentioned authors yields no results. In fact, those authors names are made up. And of course the correct answer would have been \"Tharsis Souza\".\n", "\n", - "Content chunking with contextual linking is a technique to break down long-form content into smaller, manageable chunks while keeping chunk-specific context. This approach tackles three problems:\n", - "1. The LLM's inability to process long inputs to do context-size limits\n", - "2. The LLM's inability to generate long-form content due to the `max_output_tokens` limitation.\n", - "3. The LLM's inability to maintain coherence and context when generating responses per chunks\n", + "LLMs only have access to the information they have been trained on, which of course has been fixed at a point in time. Hence, LLMs operate with stale data. The problem gets exacerbated by the fact that LLMs are trained to provide an answer even if the answer is unknown by them, hence leading to hallucinations. \n", "\n", - "Here, we exemplify this technique by following these steps:\n", - "1. **Chunking the Content**: The input content is split into smaller chunks. This allows the LLM to process each chunk individually, focusing on generating a complete and detailed response for that specific section of the input.\n", + "One solution to this problem is to use a retrieval system to fetch information from a knowledge base to provide recent and relevant context to user queries using so-called Retrieval Augmented Generation (RAG) system.\n", "\n", - "2. **Maintaining Context**: Each chunk is linked with contextual information from the previous chunks. This helps in maintaining the flow and coherence of the content across multiple chunks.\n", + "RAG utilizes a retrieval system to fetch external knowledge and augment LLM's context. It is a useful technique for building LLM applications that require domain-specific information or knowledge-intensive tasks {cite}`lewis2021retrievalaugmentedgenerationknowledgeintensivenlp`. It has also proved effective in mitigating LLMs hallucinations {cite}`10.1145/3589334.3645481, ni-etal-2024-llms`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above example, a RAG would help with hallucinations by grounding the LLM's response to information provided in the knowledge base. Additional common use cases of RAG systems include:\n", "\n", - "3. **Generating Linked Prompts**: For each chunk, a prompt is generated that includes the chunk's content and its context. This prompt is then used to generate the output for that chunk.\n", + "1. **Enterprise Knowledge Management**: RAG enables organizations to synthesize answers from diverse internal data sources like documents, databases, and communication channels. This creates a unified knowledge interface that can accurately answer questions using the organization's own data.\n", + "2. **Document Processing and Analysis**: RAG excels at extracting and analyzing information from complex documents like financial reports, presentations, and spreadsheets. The system can enable LLMs to understand context and relationships across different document types and formats.\n", + "3. **Intelligent Customer Support**: By combining knowledge bases with conversational abilities, RAG powers chatbots and support systems that can maintain context across chat history, provide accurate responses, and handle complex customer queries while reducing hallucinations.\n", + "4. **Domain-Specific Applications**: RAG allows LLMs to be equipped with specialized knowledge in fields like medicine, law, or engineering by retrieving information from domain-specific literature, regulations, and technical documentation. This enables accurate responses aligned with professional standards and current best practices.\n", + "5. **Code Documentation and Technical Support**: RAG can help developers by retrieving relevant code examples, API documentation, and best practices from repositories and documentation, which often suffer updates frequently, enabling more accurate and contextual coding assistance.\n", "\n", - "4. **Combining the Outputs**: The outputs of all chunks are combined to form the final long-form content.\n", + "If LLMs alone work on stale, general-purpose data with the added challenge of being prone to hallucinations, RAG systems serve as an added capability enabling LLMs to work on recent, domain-specific knowledge increasing the likelihood of LLMs to provide responses that are factual and relevant to user queries.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### RAG Pipeline\n", "\n", - "Let's examine an example implementation of this technique.\n", + "RAG architectures vary but they all share the same goal: to retrieve relevant information from a knowledge base to maximize the LLM's ability to effectively and accurately respond to prompts, particularly when the answer requires out-of-training data information.\n", "\n", - "#### Generating long-form content\n", + "We will introduce key components of a RAG system one by one leading to a full canonical RAG pipeline at the end that ultimately will be used to answer our original question \"Who's the author of the book Taming LLMs?\", accurately.\n", "\n", - "- Goal: Generate a long-form report analyzing a company's financial statement.\n", - "- Input: A company's 10K SEC filing.\n", + "The following basic components will be introduced (see {numref}`rag_pipeline` for a visual representation):\n", + "- Vector Database\n", + " - Embeddings\n", + " - Indexing\n", + "- Retrieval System including re-ranking\n", + "- LLM Augmented Generation via in-context learning\n", "\n", - "```{figure} ../_static/structured_output/diagram1.png\n", + "Data extraction, parsing and chunking are also part of a canonical pipeline as we prepare the knowledge base. Those are concepts that we have already explored in the previous sections, hence we will be succinct here. We will start by preparing the knowledge base.\n", + "\n", + "```{figure} ../_static/input/rag.svg\n", "---\n", - "name: content-chunking-with-contextual-linking\n", - "alt: Content Chunking with Contextual Linking\n", - "scale: 50%\n", + "name: rag_pipeline\n", + "alt: RAG Pipeline\n", + "scale: 99%\n", "align: center\n", "---\n", - "Content Chunking with Contextual Linking Schematic Representation.\n", - "```\n", - "\n", - "The diagram in {numref}`content-chunking-with-contextual-linking` illustrates the process we will follow for handling long-form content generation with Large Language Models through \"Content Chunking with Contextual Linking.\" It shows how input content is first split into manageable chunks using a chunking function (e.g. `CharacterTextSplitter` with `tiktoken` tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.\n", + "Simplified RAG Pipeline\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Preparing the Knowledge Base\n", "\n", - "**Step 1: Chunking the Content**\n", + "Every RAG system requires a knowledge base. In our case, the knowledge base is a set of documents that we equip the LLM to answer our authorship question.\n", "\n", - "There are different methods for chunking, and each of them might be appropriate for different situations. However, we can broadly group chunking strategies in two types:\n", - "- **Fixed-size Chunking**: This is the most common and straightforward approach to chunking. We simply decide the number of tokens in our chunk and, optionally, whether there should be any overlap between them. In general, we will want to keep some overlap between chunks to make sure that the semantic context doesn’t get lost between chunks. Fixed-sized chunking may be a reasonable path in many common cases. Compared to other forms of chunking, fixed-sized chunking is computationally cheap and simple to use since it doesn’t require the use of any specialied techniques or libraries.\n", - "- **Content-aware Chunking**: These are a set of methods for taking advantage of the nature of the content we’re chunking and applying more sophisticated chunking to it. Examples include:\n", - " - **Sentence Splitting**: Many models are optimized for embedding sentence-level content. Naturally, we would use sentence chunking, and there are several approaches and tools available to do this, including naive splitting (e.g. splitting on periods), NLTK, and spaCy.\n", - " - **Recursive Chunking**: Recursive chunking divides the input text into smaller chunks in a hierarchical and iterative manner using a set of separators.\n", - " - **Semantic Chunking**: This is a class of methods that leverages embeddings to extract the semantic meaning present in your data, creating chunks that are made up of sentences that talk about the same theme or topic.\n", + "Hence, we will compose our knowledge base by adding the web version of (some of the chapters of) the book \"Taming LLMs\", namely:\n", + "- Introduction\n", + "- Structured Output\n", + "- Input (this very chapter)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "book_url = \"https://www.tamingllms.com/\"\n", + "chapters = [\"markdown/intro.html\",\n", + " \"notebooks/structured_output.html\",\n", + " \"notebooks/input.html\"]\n", "\n", - " Here, we will utilize `langchain` for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters {cite}`langchain_text_splitters` such as JSON-, Markdown- and HTML-based or split by token. We will use the `CharacterTextSplitter` with `tiktoken` as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.\n" + "chapter_urls = [f\"{book_url}/{chapter}\" for chapter in chapters]\n", + "chapter_ids = [chapter.split(\"/\")[-1].replace(\".html\", \"\") for chapter in chapters]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We use `Docling` to download the chapters from the web and parse them as markdown files." ] }, { @@ -1679,36 +1755,57 @@ "metadata": {}, "outputs": [], "source": [ - "def get_chunks(text: str, chunk_size: int, chunk_overlap: int) -> list:\n", - " \"\"\"\n", - " Split input text into chunks of specified size with specified overlap.\n", + "chapters = [converter.convert(chapter_url).document.export_to_markdown() for chapter_url in chapter_urls]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we are ready to store the chapters in a vector database to enable the construction of a retrieval system." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Vector Database\n", "\n", - " Args:\n", - " text (str): The input text to be chunked.\n", - " chunk_size (int): The maximum size of each chunk in tokens.\n", - " chunk_overlap (int): The number of tokens to overlap between chunks.\n", + "Vector databases are specialized databases designed to store and retrieve high-dimensional vectors, which are mathematical representations of data like text, images, or audio. These databases are optimized for similarity search operations, making them ideal for embeddings-based retrieval systems.\n", "\n", - " Returns:\n", - " list: A list of text chunks.\n", - " \"\"\"\n", - " from langchain_text_splitters import CharacterTextSplitter\n", + "A typical pipeline involving a vector database includes the following:\n", "\n", - " text_splitter = CharacterTextSplitter.from_tiktoken_encoder(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n", - " return text_splitter.split_text(text)\n" + "1. Input data is converted into \"documents\" forming a collection representing our knowledge base\n", + "2. Each document is converted into an embedding which are stored in the vector database\n", + "3. Embeddings are indexed in the vector database for efficient similarity search\n", + "4. The vector database is queried to retrieve the most relevant documents\n", + "5. The retrieved documents are used to answer questions\n", + "\n", + "Vector databases are not a mandatory component of RAG systems. In fact, we can use a simple list of strings to store the chapters (or their chunks) and then use the LLM to answer questions about the document. However, vector databases are useful for RAG applications as they enable:\n", + "- Fast similarity search for finding relevant context\n", + "- Efficient storage of document embeddings\n", + "- Scalable retrieval for large document collections\n", + "- Flexible querying with metadata filters\n", + "\n", + "In that way, RAG applications can be seen as a retrieval system that uses a vector database to store and retrieve embeddings of documents, which in turn are used to augment LLMs with contextually relevant information as we will see in the next sections.\n", + "\n", + "Here, we will use ChromaDB {cite}`chromadb2024docs` as an example of an open source vector database but key features and concepts we cover are applicable to other vector databases, in general.\n", + "\n", + "ChromaDB is a popular open-source vector database that offers:\n", + "- Efficient storage and retrieval of embeddings\n", + "- Support for metadata and filtering\n", + "- Easy integration with Python applications\n", + "- In-memory and persistent storage options\n", + "- Support for multiple distance metrics\n", + "\n", + "Other notable vector databases include Weaviate, FAISS, and Milvus." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Step 2: Writing the Base Prompt Template**\n", - "\n", - "We will write a base prompt template which will serve as a foundational structure for all chunks, ensuring consistency in the instructions and context provided to the language model. The template includes the following parameters:\n", - "- `role`: Defines the role or persona the model should assume.\n", - "- `context`: Provides the background information or context for the task.\n", - "- `instruction`: Specifies the task or action the model needs to perform.\n", - "- `input_text`: Contains the actual text input that the model will process.\n", - "- `requirements`: Lists any specific requirements or constraints for the output." + "In ChromaDB, we can create a vector database client as follows." ] }, { @@ -1717,26 +1814,17 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain_core.prompts import PromptTemplate\n", - "def get_base_prompt_template() -> str:\n", - " \n", - " base_prompt = \"\"\"\n", - " ROLE: {role}\n", - " CONTEXT: {context}\n", - " INSTRUCTION: {instruction}\n", - " INPUT: {input}\n", - " REQUIREMENTS: {requirements}\n", - " \"\"\"\n", - " \n", - " prompt = PromptTemplate.from_template(base_prompt)\n", - " return prompt" + "import chromadb\n", + "chroma_client = chromadb.Client()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We will write a simple function that returns an `LLMChain` which is a simple `langchain` construct that allows you to chain together a combination of prompt templates, language models and output parsers." + "This will create a vector database in memory. We can also create a persistent vector database by specifying a path to a directory or alternatively by using a cloud-based vector database service like AWS, Azure or GCP. We will use a vector database in memory for this example.\n", + "\n", + "Next, we create a collection to store the embeddings of the chapters. And add our chapters as documents to the collection as follows." ] }, { @@ -1745,45 +1833,19 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_community.chat_models import ChatLiteLLM\n", + "collection = chroma_client.create_collection(name=\"taming_llms\")\n", "\n", - "def get_llm_chain(prompt_template: str, model_name: str, temperature: float = 0):\n", - " \"\"\"\n", - " Returns an LLMChain instance using langchain.\n", - "\n", - " Args:\n", - " prompt_template (str): The prompt template to use.\n", - " model_name (str): The name of the model to use.\n", - " temperature (float): The temperature setting for the model.\n", - "\n", - " Returns:\n", - " llm_chain: An instance of the LLMChain.\n", - " \"\"\"\n", - " \n", - " from dotenv import load_dotenv\n", - " import os\n", - "\n", - " # Load environment variables from .env file\n", - " load_dotenv()\n", - " \n", - " api_key_label = model_name.split(\"/\")[0].upper() + \"_API_KEY\"\n", - " llm = ChatLiteLLM(\n", - " model=model_name,\n", - " temperature=temperature,\n", - " api_key=os.environ[api_key_label],\n", - " )\n", - " llm_chain = prompt_template | llm | StrOutputParser()\n", - " return llm_chain" + "collection.add(\n", + " documents=chapters,\n", + " ids=chapter_ids\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Step 3: Constructing Dynamic Prompt Parameters**\n", - "\n", - "Now, we will write a function (`get_dynamic_prompt_template`) that constructs prompt parameters dynamically for each chunk." + "We are ready to query the collection. We write a simple function that takes the collection, input query and number of retrieved results as argument and returns the retrieved documents." ] }, { @@ -1792,59 +1854,19 @@ "metadata": {}, "outputs": [], "source": [ - "from typing import Dict\n", - "def get_dynamic_prompt_params(prompt_params: Dict, \n", - " part_idx: int, \n", - " total_parts: int,\n", - " chat_context: str,\n", - " chunk: str) -> str:\n", - " \"\"\"\n", - " Construct prompt template dynamically per chunk while maintaining the chat context of the response generation.\n", - " \n", - " Args:\n", - " prompt_params (Dict): Original prompt parameters\n", - " part_idx (int): Index of current conversation part\n", - " total_parts (int): Total number of conversation parts\n", - " chat_context (str): Chat context from previous parts\n", - " chunk (str): Current chunk of text to be processed\n", - " Returns:\n", - " str: Dynamically constructed prompt template with part-specific params\n", - " \"\"\"\n", - " dynamic_prompt_params = prompt_params.copy()\n", - " # saves the chat context from previous parts\n", - " dynamic_prompt_params[\"context\"] = chat_context\n", - " # saves the current chunk of text to be processed as input\n", - " dynamic_prompt_params[\"input\"] = chunk\n", - " \n", - " # Add part-specific instructions\n", - " if part_idx == 0: # Introduction part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating the Introduction part of a long report.\n", - " Don't cover any topics yet, just define the scope of the report.\n", - " \"\"\"\n", - " elif part_idx == total_parts - 1: # Conclusion part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating the last part of a long report. \n", - " For this part, first discuss the below INPUT. Second, write a \"Conclusion\" section summarizing the main points discussed given in CONTEXT.\n", - " \"\"\"\n", - " else: # Main analysis part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating part {part_idx+1} of {total_parts} parts of a long report.\n", - " For this part, analyze the below INPUT.\n", - " Organize your response in a way that is easy to read and understand either by creating new or merging with previously created structured sections given in CONTEXT.\n", - " \"\"\"\n", - " \n", - " return dynamic_prompt_params" + "def query_collection(collection, query_text, n_results=3):\n", + " results = collection.query(\n", + " query_texts=[query_text],\n", + " n_results=n_results\n", + " )\n", + " return results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "**Step 4: Generating the Report**\n", - "\n", - "Finally, we will write a function that generates the actual report by calling the `LLMChain` with the dynamically updated prompt parameters for each chunk and concatenating the results at the end." + "We write a simple query, enquiring the purpose of the book." ] }, { @@ -1853,24 +1875,907 @@ "metadata": {}, "outputs": [], "source": [ - "def generate_report(input_content: str, llm_model_name: str, \n", - " role: str, requirements: str,\n", - " chunk_size: int, chunk_overlap: int) -> str:\n", - " # stores the parts of the report, each generated by an individual LLM call\n", - " report_parts = [] \n", - " # split the input content into chunks\n", - " chunks = get_chunks(input_content, chunk_size, chunk_overlap)\n", - " # initialize the chat context with the input content\n", - " chat_context = input_content\n", - " # number of parts to be generated\n", - " num_parts = len(chunks)\n", - "\n", - " prompt_params = {\n", - " \"role\": role, # user-provided\n", - " \"context\": \"\", # dinamically updated per part\n", - " \"instruction\": \"\", # dynamically updated per part\n", - " \"input\": \"\", # dynamically updated per part\n", - " \"requirements\": requirements #user-priovided\n", + "q = \"What is the purpose of this book?\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print([['intro', 'input', 'structured_output']])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As response, we obtain an object that contains several attributes including:\n", + "- `documents`: The actual documents retrieved from the collection, i.e. the chapters \n", + "- `ids`: The ids of the documents retrieved from the collection\n", + "- `distances`: The distances of the documents to the query vector\n", + "\n", + "We can see that the chapters \"Introduction\", \"Input\" and \"Structured Output\" are retrieved from the collection ordered by their distance to the query vector.\n", + "\n", + "We observe that the Introduction chapter is the most relevant one as it ranks first, followed by the Input and Structured Output chapters. Indeed, the purpose of the book is included in the Introduction chapter demonstrating the retrieval system successfully retrieved the most relevant document to the input query, in this simple example.\n", + "\n", + "In order to understand how the retrieval system works and how the \"distance to the query vector\" is computed, we need to understand how the embeddings are created and how the documents are indexed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Embeddings**\n", + "\n", + "Embeddings are numerical representations of data (including text, images, audio, etc.) that capture meaning, allowing machines to process data quantitatively. Each embedding can be represented as a vector of floating-point numbers such that embedded data with similar meanings produce similar, i.e. close, vectors [^embeddings_definition].\n", + "\n", + "[^embeddings_definition]: Bengio et al. {cite}`bengio2014representationlearningreviewnew` provide serves as an excellent reference for representation learning in general including embeddings. OpenAI provides a good intro to Embeddings for developers {cite}`openai2024embeddings`\n", + "\n", + "For text data, small distances among embeddings suggest high semantic relatedness and large distances suggest low semantic relatedness among the embedded texts. HuggingFace provides a leaderboard of embeddings models {cite}`huggingface2024mteb`, which are ranked by in dimensions such as classification, clustering and reranking performance.\n", + "\n", + "Behind the scenes, ChromaDB is using the model `all-MiniLM-L6-v2` by default [^chroma_embeddings] to create embeddings for the input documents and the query (see {numref}`embedding`). This model is available in `sentence_transformers` {cite}`sentencetransformers2024website`. Let's see how it works.\n", + "\n", + "```{figure} ../_static/input/embedding.svg\n", + "---\n", + "name: embedding\n", + "alt: Embedding\n", + "scale: 70%\n", + "align: center\n", + "---\n", + "Embedding\n", + "```\n", + "\n", + "[^chroma_embeddings]: ChromaDB enables custom embedding functions and provides a list of wrappers around commonly used embedding models and APIs https://docs.trychroma.com/docs/embeddings/embedding-functions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "\n", + "embedding_model = SentenceTransformer('all-MiniLM-L6-v2')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We replicate what ChromaDB did by embedding our chapters as well as input query using sentence transformers." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(4, 384)\n" + ] + } + ], + "source": [ + "q = \"What is the purpose of this book?\"\n", + "docs_to_embed = [q] + chapters\n", + "embeddings = embedding_model.encode(docs_to_embed)\n", + "print(embeddings.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As a result, we obtain four 384-dimensional vectors representing our embeddings (one for each of the three chapters and one for the input query).\n", + "\n", + "Now we can calculate similarity among the embeddings. By default, sentence transformers uses cosine similarity to calculate the similarity between embeddings. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "similarities = embedding_model.similarity(embeddings, embeddings)\n", + "similarities" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```\n", + "tensor([[1.0000, 0.4402, 0.3022, 0.4028],\n", + " [0.4402, 1.0000, 0.6606, 0.5807],\n", + " [0.3022, 0.6606, 1.0000, 0.6313],\n", + " [0.4028, 0.5807, 0.6313, 1.0000]])\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's visualize the similarity matrix to better understand the relationships between our documents in {numref}`similarities`. The top row of the matrix represents the similarity of the input query against all chapters. That's exactly what we previously obtained by querying ChromaDB which returned a response with documents ranked by similarity to input query.\n", + "\n", + "```{figure} ../_static/input/similarity.png\n", + "---\n", + "name: similarities\n", + "alt: Similarity matrix heatmap\n", + "scale: 90%\n", + "align: center\n", + "---\n", + "Similarity matrix heatmap showing relationships among query and chapters.\n", + "``` \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calculating similarity among embeddings can become computationally intensive if brute force is used, i.e. pair-wise computation, as the number of documents grows in the knowledge base. Indexing is a technique to help address this challenge." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Indexing**\n", + "\n", + "Indexing is a crucial optimization technique that makes similarity searches faster and more efficient.\n", + "\n", + "Without indexing, finding similar vectors would require an exhaustive search - comparing a query vector against every single vector in the database. For large datasets, this becomes prohibitively slow.\n", + "\n", + "Common indexing strategies include:\n", + "\n", + "1. **Tree-based Indexes**\n", + " - Examples include KD-trees and Ball trees\n", + " - Work by partitioning the vector space into hierarchical regions\n", + " - Effective for low-dimensional data but suffer from the \"curse of dimensionality\"\n", + "\n", + "2. **Graph-based Indexes**\n", + " - HNSW (Hierarchical Navigable Small World) is a prominent example\n", + " - Creates a multi-layered graph structure for navigation\n", + " - Offers excellent search speed but requires more memory\n", + "\n", + "3. **LSH (Locality-Sensitive Hashing)**\n", + " - Uses hash functions that map similar vectors to the same buckets\n", + " - More memory-efficient than graph-based methods\n", + " - May sacrifice some accuracy for performance\n", + "\n", + "4. **Quantization-based Indexes**\n", + " - Product Quantization compresses vectors by encoding them into discrete values\n", + " - Reduces memory footprint significantly\n", + " - Good balance between accuracy and resource usage\n", + "\n", + "HNSW is the underlying library for Chroma vector indexing and search {cite}`chromadb2024hnsw`. HNSW provides fast searches with high accuracy but uses more memory. LSH and quantization methods offer better memory efficiency but may sacrifice some precision.\n", + "\n", + "But are indexing + basic embeddings based similarity sufficient? Often not, as we will see next as we cover reranking technique." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Reranking\n", + "\n", + "Let's go back to querying our vector database. Here are additional examples." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we write a query about how to get structured output from LLMs. Successfully retrieving the \"Structured Output\" chapter from the book as top result." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['structured_output', 'input', 'intro']]\n" + ] + } + ], + "source": [ + "q = \"How to get structured output from LLMs?\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we would like to obtain a tutorial on `Docling`, a tool we covered in this very chapter. However, we fail to obtain the correct chapter and instead obtain the \"Introduction\" chapter as a result." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['intro', 'input', 'structured_output']]\n" + ] + } + ], + "source": [ + "q = \"Docling tutorial\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Retrieval systems solely based on vector similarity search might miss semantic relevance. That brings the need for techniques that can improve accuracy of the retrieval system. One such technique is re-ranking.\n", + "\n", + "Re-ranking is a method that can improve accuracy of the retrieval system by re-ranking the retrieved documents based on their relevance to the input query.\n", + "\n", + "In the following, we will use the `sentence_transformers` library to re-rank the retrieved documents based on their relevance to the input query. We utilize the `CrossEncoder` model to re-rank the documents. Cross-Encoder models are more accurate at judging relevance at the cost of speed compared to basic vector-based similarity. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can implement a reranking step in a RAG system using a Cross-Encoder model in the following steps:\n", + "\n", + "1. First, we initialize the Cross-Encoder model:\n", + "```python\n", + "model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2', max_length=512)\n", + "```\n", + "- Uses the `ms-marco-MiniLM-L-6-v2` model, which is specifically trained for passage reranking\n", + "- Sets a maximum sequence length of 512 tokens\n", + "- This model is designed to score the relevance between query-document pairs\n", + "\n", + "2. Then we perform the reranking:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0]])\n", + "```\n", + "- Creates pairs of (query, document) for each retrieved document\n", + "- The model predicts relevance scores for each pair\n", + "- Higher scores indicate better semantic match between query and document\n", + "\n", + "3. Finally, we select the best match:\n", + "```python\n", + "print(res[\"documents\"][0][np.argmax(scores)])\n", + "```\n", + "- `np.argmax(scores)` finds the index of the highest scoring document\n", + "- Uses that index to retrieve the most relevant document\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We obtain the following scores for the retrieved documents (\"intro\", \"input\", \"structured_output\"), the higher the score, the more relevant the document is in relation to the input query.\n", + "\n", + "```\n", + "array([-8.52623 , -6.328738, -8.750055], dtype=float32)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As a result, we obtain the index of the highest scoring document, which corresponds to the \"input\" chapter. Hence, the re-ranking step successfully retrieved the correct chapter." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input\n" + ] + } + ], + "source": [ + "print(res[\"ids\"][0][np.argmax(scores)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ideia is to first run semantic similarity on embeddings, which should be fast but potentially inaccurate, and then run re-raking on the top-k results, which is more accurate but slower. By doing so, we can balance the speed and accuracy of the retrieval system.\n", + "\n", + "Hence, instead of going over all retrieved documents:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0]])\n", + "```\n", + "We would run reranking on the TOPK results, where TOPK <<< number of documents:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0][:TOPK]])\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### LLMs with RAG\n", + "\n", + "We are finally ready to use the retrieval system to help the LLM answer our authorship question. A common way to integrate RAGs with LLMs is via in-context learning. With in-context learning the LLM learns from the retrieved documents by providing them in the context window as represented in {numref}`incontext`. This is accomplished via a prompt template structure as follows.\n", + "\n", + "```{figure} ../_static/input/incontext.svg\n", + "---\n", + "name: incontext\n", + "alt: In-Context Learning\n", + "scale: 95%\n", + "align: center\n", + "---\n", + "RAG LLM with In-Context Learning\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + " rag_system_prompt_template = f\"\"\"\n", + " You are a helpful assistant that answers questions based on the provided CONTEXT.\n", + "\n", + " CONTEXT: {context}\n", + " \"\"\"\n", + "\n", + " user_prompt_template = f\"\"\"\n", + " QUESTION: {input}\n", + " \"\"\"\n", + "```\n", + "\n", + "This prompt strategy demonstrates a common in-context learning pattern where retrieved documents are incorporated into the LLM's context to enhance response accuracy and relevance. The prompt structure typically consists of a system prompt that:\n", + "- Sets clear boundaries for the LLM to use information from the provided context\n", + "- Includes the retrieved documents as context\n", + "\n", + "This approach:\n", + "- Reduces hallucination by grounding responses in source documents\n", + "- Improves answer relevance by providing contextually relevant information to the LLM\n", + "\n", + "The context variable is typically populated with the highest-scoring document(s) from the retrieval step, while the input variable contains the user's original query." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def RAG_qa(client, model, context, input):\n", + " \"\"\"\n", + " Generate a summary of input using a given model\n", + " \"\"\"\n", + " rag_system_prompt_template = f\"\"\"You are a helpful assistant that answers questions based on the provided CONTEXT.\n", + "\n", + " CONTEXT: {context}\n", + " \"\"\"\n", + " \n", + " response = client.chat.completions.create(\n", + " model=model,\n", + " messages=[{\"role\": \"system\", \"content\": rag_system_prompt_template},\n", + " {\"role\": \"user\", \"content\": f\"QUESTION: {input}\"}]\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we set the LLM." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from dotenv import load_dotenv\n", + "import os\n", + "\n", + "# Load environment variables from .env file\n", + "load_dotenv()\n", + "\n", + "from openai import OpenAI\n", + "client = OpenAI()\n", + "model = \"gpt-4o-mini\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we run the retrieve step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "res = query_collection(collection, q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we run the re-ranking step setting it to consider the `TOPK` retrieved documents." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TOPK = 2\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0][:TOPK]])\n", + "res_reranked = res[\"documents\"][0][np.argmax(scores)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We then pass the top document as context and invoke the LLM with our RAG-based template leading to a successful response." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The author of the book \"Taming LLMs\" is Tharsis Souza.\n" + ] + } + ], + "source": [ + "answer = RAG_qa(model, res_reranked[0], question)\n", + "answer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we motivated the use of RAGs as a tool to equip LLMs with relevant context and provided a canonical implementation of its core components. RAGs, however, can be implemented in many shapes and forms and entire books have been written about them. We point the user to additional resources if more specialized techniques and architectures are needed {cite}`kimothi2024simpleguiderag, athinaai2024ragcookbooks, diamant2024ragtechniques, hands-on-llms-book`.\n", + "\n", + "Next, we discuss RAGs challenges and limitations and conclude our RAGs section envisioning the future of RAGs challenged by the rise of long-context language models.\n", + "\n", + "### Challenges and Limitations\n", + "\n", + "While RAG systems offer powerful capabilities for enhancing LLM responses with external knowledge, they face several significant challenges and limitations that require careful consideration:\n", + " \n", + "- **Data Quality and Accuracy**: The effectiveness of RAG systems fundamentally depends on the quality and reliability of their knowledge sources. When these sources contain inaccurate, outdated, biased, or incomplete information, the system's responses become unreliable. This challenge is particularly acute when dealing with rapidly evolving topics or when sourcing information from unverified channels.\n", + " \n", + "- **Computational Cost and Latency**: Implementing RAG systems at scale presents computational and operational challenges. The process of embedding documents, maintaining vector databases, and performing similarity searches across large knowledge bases demands computational, budget and operational resources. In real-time applications, these requirements can introduce noticeable latency, potentially degrading the user experience and limiting practical applications.\n", + " \n", + "- **Explainability and Evaluation**: The complexity of RAG systems, arising from the intricate interaction between retrieval mechanisms and generative models, makes it difficult to trace and explain their reasoning processes. Traditional evaluation metrics often fail to capture the nuanced aspects of RAG performance, such as contextual relevance and factual consistency. This limitation hampers both system improvement and stakeholder trust. Readers are encouraged to read Chapter {ref}`evals` for general LLM evaluation issues as well as consider tools such as Ragas {cite}`ragas2024evaluation` for RAG evaluation.\n", + " \n", + "- **Hallucination Management**: Though RAG systems help ground LLM responses in source documents, they do not completely eliminate hallucinations. The generative component may still produce content that extrapolates beyond or misinterprets the retrieved context. This risk becomes particularly concerning when the system confidently presents incorrect information with apparent source attribution.\n", + "\n", + "\n", + "Moreover, recent research has shed light on critical limitations of key techniques used in RAGs systems. A relevant finding pertains to reranking, which has shown {cite}`jacob2024drowningdocumentsconsequencesscaling`:\n", + "\n", + "- **Diminishing Returns**: Performance degrades as the number of documents (K) increases, sometimes performing worse than basic retrievers when dealing with large datasets.\n", + "- **Poor Document Discrimination**: Rerankers can be misled by irrelevant documents, sometimes assigning high scores to content with minimal relevance to the query.\n", + "- **Consistency Issues**: Performance and relative rankings between different rerankers can vary significantly depending on the number of documents being processed.\n", + "\n", + "### Will RAGs exist in the future?\n", + "\n", + "This question is posed as we contrast RAGs with LLMs with long-context windows (LC).\n", + "\n", + "Recent research has shed light on this specific point {cite}`li2024retrievalaugmentedgenerationlongcontext`, suggesting that, on the one hand, RAGs can be seen as a cost-effective alternative to LC models:\n", + "* RAGs offer lower computational cost compared to LC due to the significantly shorter input length required for processing.\n", + "* This cost-efficiency arises because RAG reduces the number of input tokens to LLMs, which of course reduces usage cost as pricing is based on the number of input (and output) tokens.\n", + "\n", + "On the other hand, this RAG benefit is achieved at the cost of performance:\n", + "* Recent advancements in LLMs, in particular with Gemini-1.5 and GPT-4o models, demonstrate capabilities in understanding long contexts directly, which enables them to outperform RAG in terms of average performance\n", + "* LC models can process extremely long contexts, such as Gemini 1.5 which can handle up to 1 million tokens, and these models benefit from large-scale pretraining to develop strong long-context capabilities.\n", + "\n", + "This cost-performance trade-off is illustrated in {numref}`LC`, where LC models outperform RAGs in terms of average performance while RAGs are more cost-effective.\n", + "\n", + "```{figure} ../_static/input/LC.png\n", + "---\n", + "name: LC\n", + "alt: Long-Context LLMs for Superior Performance\n", + "scale: 50%\n", + "align: center\n", + "---\n", + "Long-Context LLMs demonstrate superior performance while RAGs are more cost-effective {cite}`li2024retrievalaugmentedgenerationlongcontext`.\n", + "```\n", + "\n", + "{numref}`LC` also shows a model called \"SELF-ROUTE\" which combines RAG and LC by routing queries based on model self-reflection. This is a hybrid approach that reduces computational costs while maintaining performance comparable to LC. The advantage of SELF-ROUTE is most significant for smaller values of *k*, where *k* is the number of retrieved text chunks, and SELF-ROUTE shows a marked improvement in performance over RAG, while as k increases the performance of RAG and SELF-ROUTE approaches that of LC.\n", + "\n", + "Another example of a hybrid approach that combines the benefits of both LC and RAGs is RetroLLM {cite}`li2024retrollmempoweringlargelanguage`, which is a unified framework that integrates retrieval and generation into a single process, enabling language models to generate fine-grained evidence directly from a corpus. The key contribution is that this approach delivers those benefits while eliminating the need for a separate retriever, addressing limitations of traditional RAG methods. Experimental results demonstrate RetroLLM's superior performance compared to traditional RAG methods, across both in-domain and out-of-domain tasks. It also achieves a significant reduction in token consumption due to its fine-grained evidence retrieval.\n", + "\n", + "A relevant development in this area is the introduction of LOFT {cite}`lee2024longcontextlanguagemodelssubsume`, a benchmark to assess this paradigm shift from RAGs to LCs, using real-world tasks requiring context up to millions of tokens. Evidence suggests LCs can deliver performance with simplified pipelines compared to RAGs, particularly for tasking requiring multi-hop reasoning over long contexts when using Chain-of-Thought {cite}`wei2023chainofthoughtpromptingelicitsreasoning`. However, LCs can still be outperformed by specialized retrievers, in particular Gecko, a specialized model fine-tuned on extensive text retrieval and similarity tasks.\n", + "\n", + "Bottom-line: Do we really need RAGs? The answer is conditional:\n", + "\n", + "* **RAG may be relevant when cost-effectiveness is a key requirement** and where the model needs to access vast amounts of external knowledge without incurring high computational expenses. However, as LLMs context window sizes increase and LLMs cost per input token is decreases, RAG may not be as relevant as it was before.\n", + "* **Long-context LLMs are superior when performance is the primary concern**, and the model needs to handle extensive texts that require deep contextual understanding and reasoning.\n", + "* **Hybrid approaches like SELF-ROUTE are valuable as they combine the strengths of RAG and LC** offering a practical balance between cost and performance, especially for applications where both factors are critical.\n", + "\n", + "Ultimately, the choice between RAG, LC, or a hybrid method depends on the specific requirements of the task, available resources, and the acceptable trade-off between cost and performance.\n", + "\n", + "In a later case study, we demonstrate the power of LCs as we construct a Quiz generator with citations over a large knowledge base without the use of chunking nor RAGs.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## A Note on Frameworks\n", + "\n", + "We have covered a few open source tools for parsing data and provided a canonical RAG pipeline directly using an open source VectorDB together with an LLM. There is a growing number of frameworks that offer similar functionality wrapping the same core concepts at a higher level of abstraction. The two most popular ones are `Langchain` and `LlamaIndex`. \n", + "\n", + "For instance, the code below shows how to use `LlamaIndex`'s `LlamaParse` for parsing input documents, which offers support for a wide range of file formats (e.g. .pdf, .pptx, .docx, .xlsx, .html). We we can see that the code is very similar to the one we used for `MarkitDown` and `Docling`.\n", + "\n", + "```python\n", + "from llama_parse import LlamaParse\n", + "\n", + "# Initialize the parser\n", + "parser = LlamaParse(\n", + " api_key=\"llx-your-api-key-here\",\n", + " result_type=\"markdown\", # Can be \"markdown\" or \"text\"\n", + " verbose=True\n", + ")\n", + "\n", + "documents = parser.load_data([\"./doc1.pdf\", \"./doc2.pdf\"])\n", + "```\n", + "\n", + "\n", + "\n", + "As another example, the code below replicates our ChromaDB-based retrieval system using `LlamaIndex` {cite}`llamaindex2024storing`.\n", + "\n", + "As we can see, similar concepts are used in both frameworks:\n", + "- Documents to represent elements of the knowledge base\n", + "- Collections to store the documents\n", + "- Indexing of embeddings in the VectorDB and finally\n", + "- Querying the VectorDB to retrieve the documents\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "import chromadb\n", + "from llama_index.core import VectorStoreIndex, SimpleDirectoryReader\n", + "from llama_index.vector_stores.chroma import ChromaVectorStore\n", + "from llama_index.core import StorageContext\n", + "\n", + "# load some documents\n", + "documents = SimpleDirectoryReader(\"./data\").load_data()\n", + "\n", + "# initialize client, setting path to save data\n", + "db = chromadb.PersistentClient(path=\"./chroma_db\")\n", + "\n", + "# create collection\n", + "chroma_collection = db.get_or_create_collection(\"tamingllms\")\n", + "\n", + "# assign chroma as the vector_store to the context\n", + "vector_store = ChromaVectorStore(chroma_collection=chroma_collection)\n", + "storage_context = StorageContext.from_defaults(vector_store=vector_store)\n", + "\n", + "# create your index\n", + "index = VectorStoreIndex.from_documents(\n", + " documents, storage_context=storage_context\n", + ")\n", + "\n", + "# create a query engine and query\n", + "query_engine = index.as_query_engine()\n", + "response = query_engine.query(\"Who is the author of Taming LLMs?\")\n", + "print(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Frameworks are useful for quickly prototyping RAG systems and for building applications on top of them as they provide a higher level of abstraction and integration with third-party libraries. However, the underlying concepts are the same as the ones we have covered in this chapter. More often than not, problems arise when developers either do not understand the underlying concepts or fail to understand the details of the implement behind the abstractions provided by the framework. Therefore, it is recommended to try and start your implementation using lower level tools as much as possible and only when (i) the underlying problem as well as (ii) the desired solution are well understood, then consider moving to higher level frameworks if really needed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Case Studies\n", + "\n", + "This section presents two case studies to complement topics we have covered in this chapter in the context of managing input data for LLMs.\n", + "\n", + "First, we cover content chunking, in particular Content Chunking with Contextual Linking which showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.\n", + "\n", + "Second, we build a Quiz generator with citations using long context window. Not all knowledge intense applications require RAGs. In this case study, we show how to use long context window as well as some additional input management techniques such as prompt caching for efficiency and reference management to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Case Study I: Content Chunking with Contextual Linking\n", + "\n", + "Content chunking is commonly used to breakdown long-form content into smaller, manageable chunks. In the context of RAGs, this can be helpful not only to help the retrieval system find more contextually relevant documents but also lead to a more cost efficient LLM solution since fewer tokens are processed in the context window. Furthermore, semantic chunking can increase accuracy of RAG systems {cite}`zenml2024rag`.\n", + "\n", + "Content chunking with contextual linking is a chunking technique that seeks to split input content while keeping chunk-specific context, hence allowing the LLM to maintain coherence and context when generating responses per chunks. In that way, this technique tackles two key problems:\n", + "1. The LLM's inability to process long inputs to do context-size limits\n", + "2. The LLM's inability to maintain coherence and context when generating responses per chunks\n", + "\n", + "As a consequence, a third problem is also tackled: LLM's inability to generate long-form content due to the `max_output_tokens` limitation. Since we generate responses per chunk, as we will see later, we end up with a solution that is capable of generating long-form content while maintaining coherence.\n", + "\n", + "We exemplify this technique by following these steps:\n", + "1. **Chunking the Content**: The input content is split into smaller chunks. This allows the LLM to process each chunk individually, focusing on generating a complete and detailed response for that specific section of the input.\n", + "\n", + "2. **Maintaining Context**: Each chunk is linked with contextual information from the previous chunks. This helps in maintaining the flow and coherence of the content across multiple chunks.\n", + "\n", + "3. **Generating Linked Prompts**: For each chunk, a prompt is generated that includes the chunk's content and its context. This prompt is then used to generate the output for that chunk.\n", + "\n", + "4. **Combining the Outputs**: The outputs of all chunks are combined to form the final long-form content.\n", + "\n", + "Let's examine an example implementation of this technique.\n", + "\n", + "#### Generating long-form content\n", + "\n", + "- Goal: Generate a long-form report analyzing a company's financial statement.\n", + "- Input: A company's 10K SEC filing.\n", + "\n", + "```{figure} ../_static/structured_output/diagram1.png\n", + "---\n", + "name: content-chunking-with-contextual-linking\n", + "alt: Content Chunking with Contextual Linking\n", + "scale: 50%\n", + "align: center\n", + "---\n", + "Content Chunking with Contextual Linking Schematic Representation.\n", + "```\n", + "\n", + "The diagram in {numref}`content-chunking-with-contextual-linking` illustrates the process we will follow for handling long-form content generation with Large Language Models through \"Content Chunking with Contextual Linking.\" It shows how input content is first split into manageable chunks using a chunking function (e.g. `CharacterTextSplitter` with `tiktoken` tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.\n", + "\n", + "**Step 1: Chunking the Content**\n", + "\n", + "There are different methods for chunking, and each of them might be appropriate for different situations. However, we can broadly group chunking strategies in two types:\n", + "- **Fixed-size Chunking**: This is the most common and straightforward approach to chunking. We simply decide the number of tokens in our chunk and, optionally, whether there should be any overlap between them. In general, we will want to keep some overlap between chunks to make sure that the semantic context doesn’t get lost between chunks. Fixed-sized chunking may be a reasonable path in many common cases. Compared to other forms of chunking, fixed-sized chunking is computationally cheap and simple to use since it doesn’t require the use of any specialied techniques or libraries.\n", + "- **Content-aware Chunking**: These are a set of methods for taking advantage of the nature of the content we’re chunking and applying more sophisticated chunking to it. Examples include:\n", + " - **Sentence Splitting**: Many models are optimized for embedding sentence-level content. Naturally, we would use sentence chunking, and there are several approaches and tools available to do this, including naive splitting (e.g. splitting on periods), NLTK, and spaCy.\n", + " - **Recursive Chunking**: Recursive chunking divides the input text into smaller chunks in a hierarchical and iterative manner using a set of separators.\n", + " - **Semantic Chunking**: This is a class of methods that leverages embeddings to extract the semantic meaning present in your data, creating chunks that are made up of sentences that talk about the same theme or topic.\n", + "\n", + " Here, we will utilize `langchain` for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters {cite}`langchain_text_splitters` such as JSON-, Markdown- and HTML-based or split by token. We will use the `CharacterTextSplitter` with `tiktoken` as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def get_chunks(text: str, chunk_size: int, chunk_overlap: int) -> list:\n", + " \"\"\"\n", + " Split input text into chunks of specified size with specified overlap.\n", + "\n", + " Args:\n", + " text (str): The input text to be chunked.\n", + " chunk_size (int): The maximum size of each chunk in tokens.\n", + " chunk_overlap (int): The number of tokens to overlap between chunks.\n", + "\n", + " Returns:\n", + " list: A list of text chunks.\n", + " \"\"\"\n", + " from langchain_text_splitters import CharacterTextSplitter\n", + "\n", + " text_splitter = CharacterTextSplitter.from_tiktoken_encoder(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n", + " return text_splitter.split_text(text)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 2: Writing the Base Prompt Template**\n", + "\n", + "We will write a base prompt template which will serve as a foundational structure for all chunks, ensuring consistency in the instructions and context provided to the language model. The template includes the following parameters:\n", + "- `role`: Defines the role or persona the model should assume.\n", + "- `context`: Provides the background information or context for the task.\n", + "- `instruction`: Specifies the task or action the model needs to perform.\n", + "- `input_text`: Contains the actual text input that the model will process.\n", + "- `requirements`: Lists any specific requirements or constraints for the output." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.prompts import PromptTemplate\n", + "def get_base_prompt_template() -> str:\n", + " \n", + " base_prompt = \"\"\"\n", + " ROLE: {role}\n", + " CONTEXT: {context}\n", + " INSTRUCTION: {instruction}\n", + " INPUT: {input}\n", + " REQUIREMENTS: {requirements}\n", + " \"\"\"\n", + " \n", + " prompt = PromptTemplate.from_template(base_prompt)\n", + " return prompt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will write a simple function that returns an `LLMChain` which is a simple `langchain` construct that allows you to chain together a combination of prompt templates, language models and output parsers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_community.chat_models import ChatLiteLLM\n", + "\n", + "def get_llm_chain(prompt_template: str, model_name: str, temperature: float = 0):\n", + " \"\"\"\n", + " Returns an LLMChain instance using langchain.\n", + "\n", + " Args:\n", + " prompt_template (str): The prompt template to use.\n", + " model_name (str): The name of the model to use.\n", + " temperature (float): The temperature setting for the model.\n", + "\n", + " Returns:\n", + " llm_chain: An instance of the LLMChain.\n", + " \"\"\"\n", + " \n", + " from dotenv import load_dotenv\n", + " import os\n", + "\n", + " # Load environment variables from .env file\n", + " load_dotenv()\n", + " \n", + " api_key_label = model_name.split(\"/\")[0].upper() + \"_API_KEY\"\n", + " llm = ChatLiteLLM(\n", + " model=model_name,\n", + " temperature=temperature,\n", + " api_key=os.environ[api_key_label],\n", + " )\n", + " llm_chain = prompt_template | llm | StrOutputParser()\n", + " return llm_chain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 3: Constructing Dynamic Prompt Parameters**\n", + "\n", + "Now, we will write a function (`get_dynamic_prompt_template`) that constructs prompt parameters dynamically for each chunk." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Dict\n", + "def get_dynamic_prompt_params(prompt_params: Dict, \n", + " part_idx: int, \n", + " total_parts: int,\n", + " chat_context: str,\n", + " chunk: str) -> str:\n", + " \"\"\"\n", + " Construct prompt template dynamically per chunk while maintaining the chat context of the response generation.\n", + " \n", + " Args:\n", + " prompt_params (Dict): Original prompt parameters\n", + " part_idx (int): Index of current conversation part\n", + " total_parts (int): Total number of conversation parts\n", + " chat_context (str): Chat context from previous parts\n", + " chunk (str): Current chunk of text to be processed\n", + " Returns:\n", + " str: Dynamically constructed prompt template with part-specific params\n", + " \"\"\"\n", + " dynamic_prompt_params = prompt_params.copy()\n", + " # saves the chat context from previous parts\n", + " dynamic_prompt_params[\"context\"] = chat_context\n", + " # saves the current chunk of text to be processed as input\n", + " dynamic_prompt_params[\"input\"] = chunk\n", + " \n", + " # Add part-specific instructions\n", + " if part_idx == 0: # Introduction part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating the Introduction part of a long report.\n", + " Don't cover any topics yet, just define the scope of the report.\n", + " \"\"\"\n", + " elif part_idx == total_parts - 1: # Conclusion part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating the last part of a long report. \n", + " For this part, first discuss the below INPUT. Second, write a \"Conclusion\" section summarizing the main points discussed given in CONTEXT.\n", + " \"\"\"\n", + " else: # Main analysis part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating part {part_idx+1} of {total_parts} parts of a long report.\n", + " For this part, analyze the below INPUT.\n", + " Organize your response in a way that is easy to read and understand either by creating new or merging with previously created structured sections given in CONTEXT.\n", + " \"\"\"\n", + " \n", + " return dynamic_prompt_params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**Step 4: Generating the Report**\n", + "\n", + "Finally, we will write a function that generates the actual report by calling the `LLMChain` with the dynamically updated prompt parameters for each chunk and concatenating the results at the end." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def generate_report(input_content: str, llm_model_name: str, \n", + " role: str, requirements: str,\n", + " chunk_size: int, chunk_overlap: int) -> str:\n", + " # stores the parts of the report, each generated by an individual LLM call\n", + " report_parts = [] \n", + " # split the input content into chunks\n", + " chunks = get_chunks(input_content, chunk_size, chunk_overlap)\n", + " # initialize the chat context with the input content\n", + " chat_context = input_content\n", + " # number of parts to be generated\n", + " num_parts = len(chunks)\n", + "\n", + " prompt_params = {\n", + " \"role\": role, # user-provided\n", + " \"context\": \"\", # dinamically updated per part\n", + " \"instruction\": \"\", # dynamically updated per part\n", + " \"input\": \"\", # dynamically updated per part\n", + " \"requirements\": requirements #user-priovided\n", " }\n", "\n", " # get the LLMChain with the base prompt template\n", @@ -2076,14 +2981,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Case Study II: Github RAG\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Case Study III: Quiz Generation with Citations\n", + "### Case Study II: Quiz Generation with Citations\n", "\n", "In this case study, we will build a Quiz generator with citations that explores additional input management techniques particularly useful with long context windows. The implementation includes prompt caching for efficiency and citation tracking to enhance accuracy and verifiability. We will use Gemini 1.5 Pro as our LLM model, which has a context window of 2M tokens.\n", "\n", @@ -2400,7 +3298,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Conclusion" + "## Conclusion\n", + "\n", + "This chapter has explored critical strategies and techniques for managing input data in LLM applications, focusing on three key areas: data parsing, retrieval augmentation, and practical implementation patterns. We examined how parsing tools like MarkItDown and Docling can transform diverse data formats into LLM-compatible representations, demonstrating through case studies how parser quality can impact LLM performance. The chapter also investigated retrieval augmentation techniques, particularly RAG systems, showing how they can enhance LLM capabilities by providing access to external knowledge while discussing their future relevance in the context of emerging long-context language models.\n", + "\n", + "Through our case studies, we demonstrated practical approaches to handling common challenges in LLM applications. The Content Chunking with Contextual Linking case study illustrated techniques for managing long-form content generation while maintaining coherence across chunks. The Quiz Generation with Citations case study showcased how long-context windows can be effectively utilized without the need for complex retrieval systems, highlighting the importance of choosing the right approach based on specific application requirements rather than defaulting to more complex solutions.\n", + "\n", + "As the field continues to evolve, the choice between traditional RAG systems and emerging long-context models will likely become increasingly nuanced. While RAGs offer cost-effective solutions for incorporating external knowledge, the rise of long-context models suggests a future where simpler architectures might suffice for many applications. The key insight is that effective input data management requires careful consideration of trade-offs among complexity, cost, and performance, always guided by specific application requirements rather than following a one-size-fits-all approach. Success in building robust LLM applications will depend on understanding these trade-offs and selecting appropriate strategies for each use case." ] }, { diff --git a/tamingllms/_static/evals/llm_judge.svg b/tamingllms/_static/evals/llm_judge.svg deleted file mode 100644 index 4292dfa..0000000 --- a/tamingllms/_static/evals/llm_judge.svg +++ /dev/null @@ -1,879 +0,0 @@ -LLM Judge Evaluation SystemLLM-Judgecomponentsapps
    App Rankings
    -Detailed Scores
    -Analysis Report
    -
    -
    Task description
    -Scoring guidelines
    -Output format
    -
    -
    (Optional)Ground TruthLLM App 1LLM App 2

    ...

    -
    LLM App N Generate EvaluationPrompt Compare ResultsSubmit for Review - - - - - - - - - - - - - - - - -
    \ No newline at end of file diff --git a/tamingllms/_static/evals/llmjudge.d2 b/tamingllms/_static/evals/llmjudge.d2 index 4e178ae..7f0d25e 100644 --- a/tamingllms/_static/evals/llmjudge.d2 +++ b/tamingllms/_static/evals/llmjudge.d2 @@ -14,6 +14,22 @@ container: { label: "LLM-Judge" } + # Evaluation results + results: { + score: Score { + shape: rectangle + style.fill: "#FFFFFF" + style.stroke: "#2ECC71" + } + + explanation: Explanation { + shape: rectangle + style.fill: "#FFFFFF" + style.stroke: "#2ECC71" + label: "Reasoning for score" + } + } + # Evaluation components section components: { prompt: Evaluation Prompt { @@ -51,9 +67,7 @@ container: { style.stroke: "#3498DB" } - dots: |md - ... - | + dots: "..." appN: LLM App N { shape: rectangle @@ -62,22 +76,9 @@ container: { } } - # Output section - output: Evaluation Results { - shape: page - style.fill: "#EAFAF1" - style.stroke: "#2ECC71" - label: |md - ``` - App Rankings - Detailed Scores - Analysis Report - ``` - | - } - # Connections between components - base_llm -> output: Generate Evaluation + base_llm -> results.score + base_llm -> results.explanation components.prompt -> base_llm: Prompt components.reference -> base_llm: Compare Results { @@ -89,4 +90,4 @@ container: { apps.appN -> base_llm } -direction: right +direction: right \ No newline at end of file diff --git a/tamingllms/_static/evals/meta2.svg b/tamingllms/_static/evals/meta2.svg deleted file mode 100644 index 8833843..0000000 --- a/tamingllms/_static/evals/meta2.svg +++ /dev/null @@ -1,882 +0,0 @@ -LLM Judge Pairwise Evaluation SystemPool of LLM JudgesPairwiseSelectorllmcomparison_pairHumanEvaluatorsRankingAlgorithm
    LLM Judges Leaderboard
    ----------------------
    -1. Judge C (0.95)
    -2. Judge A (0.92)
    -3. Judge B (0.89)
    -   ...
    -N. Judge X (0.75)
    -
    -
    PromptLLM ResponseJudge AvsJudge B Draw JudgesGenerate PairInput forEvaluationEvaluatePreferencesGenerateRankings - - - - - - - - - - - - - - - - - - - - -
    \ No newline at end of file diff --git a/tamingllms/_static/input/LC.png b/tamingllms/_static/input/LC.png new file mode 100644 index 0000000000000000000000000000000000000000..72602d1fe3159024cd1a62f8c1fdb5b884683bb6 GIT binary patch literal 97321 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 literal 0 HcmV?d00001 diff --git a/tamingllms/_static/input/embedding.d2 b/tamingllms/_static/input/embedding.d2 new file mode 100644 index 0000000..e9185c4 --- /dev/null +++ b/tamingllms/_static/input/embedding.d2 @@ -0,0 +1,38 @@ +container: { + shape: rectangle + style.stroke: "#D5DBDB" + style.stroke-width: 2 + style.fill: "#F7FBFF" + + input: "Who is the Author of..." { + shape: rectangle + style.fill: "#FFFFFF" + style.stroke: "#2ECC71" + style.font-color: "#2ECC71" + } + + model: { + shape: rectangle + style.fill: "#FEF9E7" + style.stroke: "#F4D03F" + + network: "all-MiniLM-L6-v2" { + style.font-size: 24 + } + } + + output: "[0.123, 0.456, 0.789, ...]" { + shape: rectangle + style.fill: "#FFFFFF" + style.stroke: "#E74C3C" + style.font-color: "#E74C3C" + } + + # Connections + input -> model -> output + + # Label below model + label: "Embedding" +} + +direction: right diff --git a/tamingllms/_static/input/embedding.svg b/tamingllms/_static/input/embedding.svg new file mode 100644 index 0000000..adbe91b --- /dev/null +++ b/tamingllms/_static/input/embedding.svg @@ -0,0 +1,118 @@ + + + + + + + + +EmbeddingWho is the Author of...model[0.123, 0.456, 0.789, ...]all-MiniLM-L6-v2 + + + + + + + \ No newline at end of file diff --git a/tamingllms/_static/input/incontext.svg b/tamingllms/_static/input/incontext.svg new file mode 100644 index 0000000..82c636f --- /dev/null +++ b/tamingllms/_static/input/incontext.svg @@ -0,0 +1,4 @@ + + + +
    Retrieval
    Retrieval
    RAG Context
    RAG Context
    reranking
    reranking
    Query
    Query

    LLM

    LLM

    Context Window

    Context Wi...
    Retrieval System
    Retrieval System
    VectorDB
    VectorDB
    \ No newline at end of file diff --git a/tamingllms/_static/input/incontext.xml b/tamingllms/_static/input/incontext.xml new file mode 100644 index 0000000..1a15d1d --- /dev/null +++ b/tamingllms/_static/input/incontext.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tamingllms/_static/input/rag.svg b/tamingllms/_static/input/rag.svg new file mode 100644 index 0000000..6b77e28 --- /dev/null +++ b/tamingllms/_static/input/rag.svg @@ -0,0 +1,4 @@ + + + +
    Data Parsing & Ingestion
    Data
    Embeddings
    Retrieval
    RAG Context
    reranking
    Query

    LLM

    Context Window

    Indexing
    Query
    User
    VectorDB
    Retrieval System
    RAG
    \ No newline at end of file diff --git a/tamingllms/_static/input/rag.xml b/tamingllms/_static/input/rag.xml new file mode 100644 index 0000000..7c6a681 --- /dev/null +++ b/tamingllms/_static/input/rag.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tamingllms/_static/input/similarity.png b/tamingllms/_static/input/similarity.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2f2282354d86ed9239a8b39528ad72dd111431 GIT binary patch literal 31979 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

    S|sFnML-c-uJp_UVL_i+uD5qjcat$F%0>s!tO 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 RLE~|XhU!k03}p+?{{oywm017) literal 0 HcmV?d00001 diff --git a/tamingllms/_static/input/vectordb.png b/tamingllms/_static/input/vectordb.png new file mode 100644 index 0000000000000000000000000000000000000000..da956cec243ecca29dfdc08eaa80ebd7f317aa4d GIT binary patch literal 16764 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 literal 0 HcmV?d00001 diff --git a/tamingllms/latex/evals.tex b/tamingllms/latex/evals.tex new file mode 100644 index 0000000..792c2af --- /dev/null +++ b/tamingllms/latex/evals.tex @@ -0,0 +1,1910 @@ +\setchapterpreamble[u]{\margintoc} + +\chapter{The Evals Gap} +\labch{evals} + +\epigraph{It doesn't matter how beautiful your theory is, \\ +it doesn't matter how smart you are. \\ +If it doesn't agree with experiment, it's wrong.}{Richard Feynman} + +\section{Introduction} + +The advent of LLMs marks a pivotal shift in the landscape of software development, testing and verification. Unlike traditional software systems, where deterministic outputs are the norm, LLMs introduce a realm of non-deterministic and generative behaviors that challenge conventional software engineering paradigms. This shift is not merely a technical evolution but a fundamental transformation in how we conceive, build, and assess software products. + +For those entrenched in traditional methodologies, the transition to LLM-driven systems may seem daunting. However, ignoring this change is not an option. The reliance on outdated testing frameworks that fail to account for the probabilistic nature of LLMs will inevitably lead to significant setbacks. + +To overcome these challenges, it is imperative to embrace the complexities of LLMs with a proactive mindset. This involves developing robust evaluation frameworks up-front that incorporate the generative nature of LLM-based software development while fostering a culture of continuous change, learning and adaptation. + +\section{Non-Deterministic Generative Machines} + +One of the most fundamental challenges when building products with LLMs is their generative and non-deterministic nature. Unlike traditional software systems where the same input reliably produces the same output, LLMs can generate novel text that may not exist in their training data, and produce different responses each time they're queried - even with identical prompts and input data. This behavior is both a strength and a significant engineering and product challenge. + +When you ask an LLM the same question multiple times, you'll likely get different responses. This isn't a bug - it's a fundamental feature of how these models work. The ``temperature'' parameter, which controls the randomness of outputs, allows models to be creative and generate diverse responses. However, this same feature makes it difficult to build reliable, testable systems. + +Consider a financial services company using LLMs to generate investment advice. The non-deterministic nature of these models means that: +\begin{itemize} + \item The same input data could yield different analysis conclusions + \item Regulatory compliance becomes challenging to guarantee + \item User trust may be affected by inconsistent responses + \item Testing becomes exceedingly more complex compared to traditional software +\end{itemize} + +The primary source of non-determinism in LLMs comes from their sampling strategies. During text generation, the model: +\begin{enumerate} + \item Calculates probability distributions for each next token + \item Samples from these distributions based on temperature settings + \item Uses techniques like nucleus sampling \sidecite{holtzman2020curiouscaseneuraltext} or top-k sampling to balance creativity and coherence +\end{enumerate} + +In this simple experiment, we use an LLM to write a single-statement executive summary from an input financial filing. We observe that even a simple parameter like temperature can dramatically alter model behavior in ways that are difficult to systematically assess. At temperature $0.0$, responses are consistent but potentially too rigid. At $1.0$, outputs become more varied but less predictable. At $2.0$, responses can be wildly different and often incoherent. This non-deterministic behavior makes traditional software testing approaches inadequate. + +\begin{minted}{python} +from dotenv import load_dotenv +import os + +# Load environment variables from .env file +load_dotenv() + +from openai import OpenAI +import pandas as pd +from typing import List + +def generate_responses( + model_name: str, + prompt: str, + temperatures: List[float], + attempts: int = 3 +) -> pd.DataFrame: + """ + Generate multiple responses at different temperature settings + to demonstrate non-deterministic behavior. + """ + client = OpenAI() + results = [] + + for temp in temperatures: + for attempt in range(attempts): + response = client.chat.completions.create( + model=model_name, + messages=[{"role": "user", "content": prompt}], + temperature=temp, + max_tokens=50 + ) + + results.append({ + 'temperature': temp, + 'attempt': attempt + 1, + 'response': response.choices[0].message.content + }) + + # Display results grouped by temperature + df_results = pd.DataFrame(results) + for temp in temperatures: + print(f"\nTemperature = {temp}") + print("-" * 40) + temp_responses = df_results[df_results['temperature'] == temp] + for _, row in temp_responses.iterrows(): + print(f"Attempt {row['attempt']}: {row['response']}") + + return df_results +\end{minted} +% End of Selection + + +\begin{minted}{python} +MAX_LENGTH = 10000 # We limit the input length to avoid token issues +with open('../data/apple.txt', 'r') as file: + sec_filing = file.read() + +sec_filing +\end{minted} + +\begin{figure}[h] +\centering +\includegraphics[width=0.7\textwidth]{evals/apple_sec.png} +\caption{Part of Apple Inc's SEC Filing. November 1, 2024 - 10-K: Annual report for year ending September 28, 2024} +\label{fig:apple-sec-temps} +\end{figure} + + +\begin{minted}{python} +MAX_LENGTH = 10000 # We limit the input length to avoid token issues +with open('../data/apple.txt', 'r') as file: + sec_filing = file.read() +sec_filing = sec_filing[:MAX_LENGTH] +df_results = generate_responses(model_name="gpt-3.5-turbo", + prompt=f"Write a single-statement executive summary of the following text: {sec_filing}", + temperatures=[0.0, 1.0, 2.0]) +\end{minted} + + +\begin{verbatim} +Temperature = 0.0 +---------------------------------------- +Attempt 1: Apple Inc. filed its Form 10-K for the fiscal year ended September 28, 2024 with the SEC, detailing its business operations and financial performance. +Attempt 2: Apple Inc. filed its Form 10-K with the SEC for the fiscal year ended September 28, 2024, detailing its business operations, products, and financial information. +Attempt 3: Apple Inc. filed its Form 10-K with the SEC for the fiscal year ended September 28, 2024, detailing its business operations, products, and financial information. + +Temperature = 1.0 +---------------------------------------- +Attempt 1: Apple Inc., a well-known seasoned issuer based in California, designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories, with a focus on innovation and technology. +Attempt 2: Apple Inc. filed its Form 10-K with the SEC for the fiscal year ended September 28, 2024, reporting on its business operations, products, and financial performance. +Attempt 3: Apple Inc., a well-known seasoned issuer, filed its Form 10-K for the fiscal year ended September 28, 2024, reporting on its financial condition and operations. + +Temperature = 2.0 +---------------------------------------- +Attempt 1: The Form 10-K for Apple Inc. for the fiscal year ended September 28, 2024, filed with the Securities and Exchange Commission, outlines the company's financial performance, products, and risk factors affecting future results. +Attempt 2: Apple Inc., a California-based company and leading technology manufacturer invDestacksmeticsisdiction setIspection-$20cyan evaluationseld anvisions droitEntering discernminerval Versbobprefversible vo该 Option和 meio forecast времCisco dellaischenpoihsCapabilities Geme.getTime future +Attempt 3: Apple Inc's Form 10-K provides a comprehensive overview of the company's financial reporting, business operations, products and market information. +\end{verbatim} + +A temperature of 1 represents the unscaled probability scores for each token in the vocabulary. Decreasing the temperature closer to 0 sharpens the distribution, so the most likely token will have an even higher probability score. Conversely, increasing the temperature makes the distribution more uniform \sidecite{build-llms-from-scratch-book}: +\begin{itemize} + \item Temperature = 0: Most deterministic, but potentially repetitive + \item Temperature = 1: Balanced creativity and coherence + \item Temperature > 1: Increased randomness, potentially incoherent +\end{itemize} + +How can one effectively test an LLM-powered system when the same prompt can yield radically different outputs based on a single parameter? Traditional testing relies on predictable inputs and outputs, but LLMs force us to grapple with probabilistic behavior. While lower temperatures may seem safer for critical applications, they don't necessarily eliminate the underlying uncertainty. This highlights the need for new evaluation paradigms that can handle both deterministic and probabilistic aspects of LLM behavior. + +\section{Emerging Properties} + +Beyond their non-deterministic nature, LLMs present another fascinating characteristic: emergent abilities that spontaneously arise as models scale up in size. These abilities - from basic question answering to complex reasoning - aren't explicitly programmed but rather emerge ``naturally'' as the models grow larger and are trained on more data. This makes evaluation fundamentally different from traditional software testing, where capabilities are explicitly coded and can be tested against pre-defined specifications. + +Figure~\ref{fig:emerging-properties} provides a list of emergent abilities of large language models and the scale \sidecite{wei2022emergentabilitieslargelanguage}. The relationship between model scale and emergent abilities follows a fascinating non-linear pattern. Below certain size thresholds, specific abilities may be completely absent from the model - it simply cannot perform certain tasks, no matter how much you try to coax them out. However, once the model reaches critical points in its scaling journey, these abilities can suddenly manifest in what researchers call a phase transition - a dramatic shift from inability to capability. This unpredictable emergence of capabilities stands in stark contrast to traditional software development, where features are deliberately implemented and can be systematically tested. + +\begin{figure}[h] +\centering +\includegraphics[width=0.6\textwidth]{evals/emerging.png} +\caption{Emergent abilities of large language models and the scale \cite{wei2022emergentabilitieslargelanguage}} +\label{fig:emerging-properties} +\end{figure} + +The implications for evaluation are critical. While conventional software testing relies on stable test suites and well-defined acceptance criteria, LLM evaluation must contend with a constantly shifting landscape of capabilities. What worked to evaluate a 7B parameter model may be completely inadequate for a 70B parameter model that has developed new emergent abilities. This dynamic nature of LLM capabilities forces us to fundamentally rethink our approach to testing and evaluation. + +\section{Problem Statement} + +Consider a practical example that illustrates these challenges: building a Math AI tutoring system for children powered by an LLM. In traditional software development, you would define specific features (like presenting math problems or checking answers) and write tests to verify each function. But with LLMs, you're not just testing predefined features - you're trying to evaluate emergent capabilities like adapting explanations to a child's level, maintaining engagement through conversational learning, and providing age-appropriate safety-bound content. + +This fundamental difference raises critical questions about evaluation: +\begin{itemize} + \item How do we measure capabilities that weren't explicitly programmed? + \item How can we ensure consistent performance when abilities may suddenly emerge or evolve? + \item What metrics can capture both the technical accuracy and the subjective quality of responses? +\end{itemize} + +The challenge becomes even more complex when we consider that traditional software evaluation methods simply weren't designed for these kinds of systems. There is an \textbf{Evals Gap} between traditional software testing and LLM evaluation. We need new frameworks that can account for both the deterministic aspects we're used to testing and the emergent properties that make LLMs unique. + +Table~\ref{evals-table} summarizes how LLM evaluation differs from traditional software testing across several key dimensions: +\begin{itemize} + \item \textbf{Capability Assessment vs Functional Testing}: Traditional software testing validates specific functionality against predefined requirements. LLM evaluation must assess not necessarily pre-defined behavior but also ``emergent properties'' like reasoning, creativity, and language understanding that extend beyond explicit programming. + + \item \textbf{Metrics and Measurement Challenges}: While traditional software metrics can usually be precisely defined and measured, LLM evaluation often involves subjective qualities like ``helpfulness'' or ``naturalness'' that resist straightforward quantification. Even when we try to break these down into numeric scores, the underlying judgment often remains inherently human and context-dependent. + + \item \textbf{Dataset Contamination}: Traditional software testing uses carefully crafted test cases with known inputs and expected outputs (e.g., unit tests). In contrast, LLMs trained on massive internet-scale datasets risk having already seen and memorized evaluation examples during training, which can lead to artificially inflated performance scores. This requires careful dataset curation to ensure test sets are truly unseen by the model and rigorous cross-validation approaches. + + \item \textbf{Benchmark Evolution}: Traditional software maintains stable test suites over time. LLM benchmarks continuously evolve as capabilities advance, making longitudinal performance comparisons difficult and potentially obsoleting older evaluation methods. + + \item \textbf{Human Evaluation Requirements}: Traditional software testing automates most validation. LLM evaluation may demand significant human oversight to assess output quality, appropriateness, and potential biases through structured annotation and systematic review processes. +\end{itemize} + +\begin{table}[h] +\caption{Evals of Traditional Software vs LLMs} +\label{evals-table} +\begin{tabular}{p{0.2\textwidth}p{0.35\textwidth}p{0.35\textwidth}} +\hline +\textbf{Aspect} & \textbf{Traditional Software} & \textbf{LLMs} \\ +\hline +Capability Assessment & Validates specific functionality against requirements & May assess emergent properties like reasoning and creativity \\ +\hline +Metrics and Measurement & Precisely defined and measurable metrics & Subjective qualities that resist straightforward quantification \\ +\hline +Dataset Contamination & Uses carefully crafted test cases & Risk of memorized evaluation examples from training \\ +\hline +Benchmark Evolution & Maintains stable test suites & Continuously evolving benchmarks as capabilities advance \\ +\hline +Human Evaluation & Mostly automated validation & May require significant human oversight \\ +\hline +\end{tabular} +\end{table} + +\section{Evals Design} + +A critical distinction must be made between evaluating an LLM versus evaluating an LLM-based application. While LLMs offer foundation capabilities and are typically general-purpose, LLM-based applications are more specific and tailored to particular use cases. An LLM-based application can be defined as a system that uses one or more LLMs to perform a specific task. More precisely, it represents the combination of one or more LLM models, their associated prompts and parameters configured to solve a particular business problem. + +This differentiation significantly impacts the scope of evaluation. LLMs are typically evaluated based on their fundamental capabilities, including language understanding, reasoning and knowledge. In contrast, LLM-based applications should be evaluated based on their end-to-end functionality, performance, and how effectively they meet business requirements. This distinction carries several key implications for designing evaluation systems: + +\begin{itemize} + \item The same LLM can yield different results in different applications + \item Evaluation must align with business objectives + \item A great LLM does not guarantee a great application +\end{itemize} + +Examples of key requirements for validation are listed in Table~\ref{validation-requirements}, ranging from Safety, Cognitive, Technical, Meta-Cognitive, to Ethical aspects. +The validation requirements for LLM applications span multiple critical categories, each with specific testing needs and importance: + +\textbf{Safety Requirements} +\begin{itemize} + \item \textbf{Misinformation Prevention} + \begin{itemize} + \item Testing needs: Factual accuracy verification, response consistency, hallucination detection, citation accuracy, uncertainty handling, temporal consistency, scientific accuracy + \item Importance: Prevents real-world harm, maintains user trust, reduces legal risks, ensures reliable decision support + \end{itemize} + + \item \textbf{Unqualified Advice Prevention} + \begin{itemize} + \item Testing needs: Recognition of professional queries, disclaimer consistency, referral mechanisms, boundary recognition, emergency handling + \item Importance: Prevents harm from incorrect advice, reduces liability, protects vulnerable users + \end{itemize} + + \item \textbf{Bias Detection} + \begin{itemize} + \item Testing needs: Gender/racial/cultural bias assessment, demographic representation, language inclusivity, stereotype avoidance + \item Importance: Prevents bias reinforcement, ensures service equality, maintains social responsibility + \end{itemize} + + \item \textbf{Privacy Protection} + \begin{itemize} + \item Testing needs: PII handling, data anonymization, information leakage prevention, compliance verification + \item Importance: Protects confidentiality, ensures regulatory compliance, prevents breaches + \end{itemize} +\end{itemize} + +\textbf{Cognitive Requirements} +\begin{itemize} + \item \textbf{Reasoning \& Logic} + \begin{itemize} + \item Testing needs: Problem-solving capability, mathematical accuracy, logical fallacy detection, causal reasoning + \item Importance: Ensures reliable problem-solving, maintains computational accuracy + \end{itemize} + + \item \textbf{Language Understanding} + \begin{itemize} + \item Testing needs: Context maintenance, idiom comprehension, cultural references, technical terminology + \item Importance: Ensures effective communication, prevents misunderstandings + \end{itemize} +\end{itemize} + +\textbf{Technical Requirements} +\begin{itemize} + \item \textbf{Code Generation} + \begin{itemize} + \item Testing needs: Syntax accuracy, security scanning, performance optimization, documentation quality + \item Importance: Ensures code reliability, prevents security issues + \end{itemize} + + \item \textbf{System Integration} + \begin{itemize} + \item Testing needs: API handling, rate limits, error management, response time, scalability + \item Importance: Ensures system reliability, maintains performance + \end{itemize} +\end{itemize} + +\textbf{Meta-Cognitive Requirements} +\begin{itemize} + \item \textbf{Self-Awareness} + \begin{itemize} + \item Testing needs: Knowledge limitation recognition, uncertainty communication, correction capabilities + \item Importance: Builds trust, prevents overconfidence + \end{itemize} + + \item \textbf{Communication Quality} + \begin{itemize} + \item Testing needs: Message clarity, audience appropriateness, information density + \item Importance: Ensures understanding, maintains engagement + \end{itemize} +\end{itemize} + +\textbf{Ethical Requirements} +\begin{itemize} + \item \textbf{Harmful Content Prevention} + \begin{itemize} + \item Testing needs: Content recognition, response appropriateness, filtering mechanisms + \item Importance: Protects user safety, prevents misuse + \end{itemize} + + \item \textbf{Decision-Making} + \begin{itemize} + \item Testing needs: Moral consistency, value alignment, fairness assessment + \item Importance: Ensures ethical deployment, maintains standards + \end{itemize} +\end{itemize} + +\textbf{Environmental Requirements} +\begin{itemize} + \item \textbf{CO2 Emission} + \begin{itemize} + \item Testing needs: Energy consumption monitoring, model efficiency, server optimization + \item Importance: Reduces environmental impact, supports sustainability + \end{itemize} +\end{itemize} + + + +\section{Conceptual Overview} + +Figure~\ref{fig:conceptual} demonstrates a conceptual design of key components of LLM Application evaluation. + +\begin{figure}[h] +\centering +\includegraphics[width=0.4\textwidth]{evals/conceptual.png} +\caption{Conceptual overview of LLM-based application evaluation.} +\label{fig:conceptual} +\end{figure} +We observe three key components: + +\textbf{1. Examples (Input Dataset)} +\begin{itemize} + \item \textbf{Input:} Query to LLM App, e.g. user message, input file, image, audio, etc. + \item \textbf{Output:} A reference expected outcome from the LLM application. Provide ground truth for comparison (\textit{Optional}). + \item \textbf{Purpose:} Provides standardized test cases for evaluation. +\end{itemize} + +\textbf{2. LLM Application (Processing Layer)} +\begin{itemize} + \item \textbf{Input:} Test cases input from Examples + \item \textbf{Output:} Generated responses/results + \item \textbf{Purpose:} + \begin{itemize} + \item Represents different LLM implementations/vendors solving a specific task + \item Could be different models (GPT-4, Claude, PaLM, etc.) + \item Could be different configurations of same model + \item Could be different prompting strategies + \end{itemize} +\end{itemize} + +\textbf{3. Evaluator (Assessment Layer)} +\begin{itemize} + \item \textbf{Input:} + \begin{itemize} + \item Outputs from LLM application + \item Reference data from Examples (\textit{Optional}) + \end{itemize} + \item \textbf{Output:} Individual scores for target LLM application + \item \textbf{Purpose:} + \begin{itemize} + \item Measures LLM Application performance across defined metrics + \item Applies standardized scoring criteria + \end{itemize} +\end{itemize} +Note that \textbf{Examples} must provide input data to the LLM Application for further evaluation. However, ground truth data is optional. We will return to this in more detail below, where we will see that ground truth data is not always available or practical. Additionally, there are approaches where one can evaluate LLM Applications without ground truth data. + +A more general conceptual design is shown in Figure~\ref{fig:conceptual-multi}, where multiple LLM Applications are evaluated. This design allows for a more comprehensive evaluation of different configurations of LLM-based applications, e.g.: +\begin{itemize} + \item Fixing all application parameters and evaluating different LLM models with their default configurations + \item Fixing all parameters of an LLM model and evaluating different prompting strategies +\end{itemize} + +\begin{figure}[h] +\centering +\includesvg[width=0.5\textwidth]{evals/conceptual-multi.svg} +\caption{Conceptual overview of Multiple LLM-based applications evaluation.} +\label{fig:conceptual-multi} +\end{figure} + +In this evaluation framework, the same inputs are provided to all LLM applications, ensuring that responses are evaluated consistently. Performance is quantified objectively for each LLM Application, and results are ranked for easy comparison. This design leads to two additional components: +\textbf{4. Scores (Metrics Layer)} +\begin{itemize} + \item \textbf{Input:} Evaluation results from Evaluator + \item \textbf{Output:} Quantified performance metrics + \item \textbf{Purpose:} + \begin{itemize} + \item Represents performance in numerical form + \item Enables quantitative comparison among LLM applications + \item May include multiple metrics per LLM application + \end{itemize} +\end{itemize} + +\textbf{5. Leaderboard (Ranking Layer)} +\begin{itemize} + \item \textbf{Input:} Scores per LLM application + \item \textbf{Output:} Ordered ranking of LLMs with scores + \item \textbf{Purpose:} + \begin{itemize} + \item Aggregates and ranks performances across LLM applications + \end{itemize} +\end{itemize} + +\section{Design Considerations} +\subsection{Design Considerations} + +The design of an LLM application evaluation system depends heavily on the specific use case and business requirements. Here we list important questions for planning an LLM application evaluation system pertaining to each of the key components previously introduced: + +\textbf{1. Examples (Input Dataset):} +\begin{itemize} + \item What types of examples should be included in the test set? + \begin{itemize} + \item Does it cover all important use cases? + \item Are edge cases represented? + \item Is there a good balance of simple and complex examples? + \end{itemize} + \item How do we ensure data quality? + \begin{itemize} + \item Are the examples representative of real-world scenarios? + \item Is there any bias in the test set? + \end{itemize} + \item Should we have separate test sets for different business requirements? + \item Do we need human-validated ground truth for all examples? + \item Can we use synthetic data to augment the test set? + \item How can business updates and user data be reflected in the dataset post-launch? +\end{itemize} + +\textbf{2. LLM Applications:} +\begin{itemize} + \item What aspects of each LLM app should be standardized for fair comparison? + \begin{itemize} + \item Prompt templates + \item Context length + \item Temperature and other parameters + \item Rate limiting and timeout handling + \end{itemize} + \item What specific configurations impact business requirements? + \begin{itemize} + \item Which LLM application variations should be tested to maximize what we learn? + \item Which LLM capabilities provide the most value for the business and how can we measure that? + \end{itemize} +\end{itemize} + +\textbf{3. Evaluator Design:} +\begin{itemize} + \item How do we define success for different types of tasks? + \begin{itemize} + \item Task-specific evaluation criteria + \item Objective metrics vs subjective assessment + \end{itemize} + \item Should evaluation be automated or involve human review? + \begin{itemize} + \item Balance between automation and human judgment + \item Inter-rater reliability for human evaluation + \item Cost and scalability considerations + \end{itemize} +\end{itemize} + +\textbf{4. Scoring System:} +\begin{itemize} + \item How should different metrics be weighted? + \begin{itemize} + \item Relative importance of different factors + \item Task-specific prioritization + \item Business requirements alignment + \end{itemize} + \item Should scores be normalized or absolute? + \item How to handle failed responses? + \item Should we consider confidence scores from the LLMs? +\end{itemize} + +\textbf{5. Leaderboard/Ranking:} +\begin{itemize} + \item How often should rankings be updated? + \item Should ranking include confidence intervals? + \item How to handle ties or very close scores? + \item Should we maintain separate rankings for different: + \begin{itemize} + \item Business requirements + \item Model Cost Tiers + \item LLM Model Families + \end{itemize} +\end{itemize} + +Holistically, your evaluation design should be built with scalability in mind to handle growing evaluation needs as the combination of (Input Examples X LLM Applications X Evaluators X Scores X Leaderboards) may grow very fast, particularly for an organization that promotes rapid experimentation and iterative development (good properties!). Finally, one should keep in mind that the evaluation system itself requires validation to confirm its accuracy and reliability vis-a-vis business requirements (evaluating evaluators will be later discussed in this Chapter). +\section{Metrics} + +The choice of metric depends on the specific task and desired evaluation criteria. However, one can categorize metrics into two broad categories: \textbf{intrinsic} and \textbf{extrinsic}. + +\begin{itemize} + \item \textbf{Intrinsic metrics} focus on the model's performance on its primary training objective, which is typically to predict the next token in a sequence. Perplexity is a common intrinsic metric that measures how well the model predicts a given sample of text. + + \item \textbf{Extrinsic metrics} assess the model's performance on various downstream tasks, which can range from question answering to code generation. These metrics are not directly tied to the training objective, but they provide valuable insights into the model's ability to generalize to real-world applications. +\end{itemize} + +Here, we are particularly interested in extrinsic metrics, since we are evaluating LLM-based applications rather than base LLM models. + +Another way to think about metrics is in terms of the type of the task we evaluate: + +\begin{enumerate} + \item \textbf{Discriminative Task}: + \begin{itemize} + \item Involves distinguishing or classifying between existing data points. + \item Examples: Sentiment analysis, classification, or identifying whether a statement is true or false. + \end{itemize} + + \item \textbf{Generative Task}: + \begin{itemize} + \item Involves creating or producing new data or outputs. + \item Examples: Text generation, image synthesis, or summarization. + \end{itemize} +\end{enumerate} +For discriminative tasks, LLM-based applications may produce log-probabilities or discrete predictions, traditional machine learning metrics like accuracy, precision, recall, and F1 score can be applied. However, generative tasks may output text or images which require different evaluation approaches. + +For generative tasks, a range of specialized metrics should be considered. These include match-based metrics such as exact match and prefix match, as well as metrics designed specifically for tasks like summarization and translation, including ROUGE, BLEU, and character n-gram comparisons. The selection of appropriate metrics should align with the specific requirements and characteristics of the task being evaluated. + +In Table~\ref{tab:key-metrics} we provide a short list of widely used extrinsic metrics that can be used to evaluate generative tasks of LLM-based applications, along with their definitions, use cases, and limitations. +\begin{table}[htbp] +\caption{Key Metrics for Evaluating Generative Tasks} +\label{tab:key-metrics} +\begin{tabular}{p{0.2\textwidth}p{0.25\textwidth}p{0.25\textwidth}p{0.25\textwidth}} +\hline +\textbf{Metric} & \textbf{Definition} & \textbf{Use Case} & \textbf{Limitations} \\ +\hline +\textbf{BLEU} (Bilingual Evaluation Understudy) & Measures overlap of n-grams between generated text and reference text & Machine translation and text summarization & \begin{itemize}\item Favors short outputs due to brevity penalty\item Insensitive to semantic meaning\item Requires high-quality reference texts\end{itemize} \\ +\hline +\textbf{ROUGE} (Recall-Oriented Understudy for Gisting Evaluation) & Measures overlap between n-grams, words, or sentences of generated text and references, focusing on recall & Text summarization tasks & \begin{itemize}\item Biases toward long outputs\item Ignores semantic equivalence\item Heavily influenced by reference quality\end{itemize} \\ +\hline +\textbf{METEOR} (Metric for Evaluation of Translation with Explicit ORdering) & Considers synonyms, stemming, and paraphrases alongside n-gram overlap & Machine translation, where semantic equivalence matters & \begin{itemize}\item Computationally expensive\item Subjective design of synonym/stemming databases\end{itemize} \\ +\hline +\textbf{CIDEr} (Consensus-based Image Description Evaluation) & Measures n-gram overlap weighted by TF-IDF, tailored for image captioning & Image caption generation & \begin{itemize}\item Limited applicability outside captioning\item Heavily reliant on corpus statistics\end{itemize} \\ +\hline +\textbf{TER} (Translation Edit Rate) & Computes number of edits needed to convert hypothesis into reference text & Translation quality evaluation & \begin{itemize}\item Doesn't consider semantic correctness\item Penalizes valid paraphrasing\end{itemize} \\ +\hline +\textbf{BERTScore} & Uses contextual embeddings from pre-trained BERT to calculate token similarity & Tasks requiring semantic equivalence & \begin{itemize}\item High computational cost\item Performance varies with model used\end{itemize} \\ +\hline +\textbf{SPICE} (Semantic Propositional Image Caption Evaluation) & Focuses on scene graphs in image captions to evaluate semantic content & Image captioning with emphasis on semantic accuracy & \begin{itemize}\item Designed only for image captions\item Less effective in purely textual tasks\end{itemize} \\ +\hline +\end{tabular} +\end{table} +A common use case for metrics like BLEU and ROUGE is to evaluate the quality of generated summaries against reference summaries. To demonstrate this, consider the task of evaluating Financial Filings summaries against reference summaries (such as analyst-prepared highlights). + +The simple metrics-based evaluator consists of several key components: +\begin{itemize} + \item \textbf{Input:} Generated summary and reference summary + \item \textbf{Output:} Dictionary containing scores for BLEU, ROUGE\_1, and ROUGE\_2 + \item \textbf{Purpose:} Evaluation of an LLM-based Financial Filings summary generator +\end{itemize} + +A \textit{Reference Summary} represents the ``ideal'' summary, which may be prepared by human experts like analysts or generated by machines. + +For this evaluation, the focus lies on comparing summaries generated by different LLM models of varying sizes and costs against a benchmark model. The evaluation setup uses: + +\begin{itemize} + \item \textbf{Benchmark model:} \texttt{gpt-4o} + \item \textbf{Test models:} \texttt{gpt-4o-mini}, \texttt{gpt-4-turbo}, \texttt{gpt-3.5-turbo} +\end{itemize} + +The core of the evaluation system is the \texttt{evaluate\_summaries} function, which calculates BLEU and ROUGE scores to assess text generation quality. This function accepts a generated summary and reference summary as input, processes them, and returns a dictionary containing three key metrics: +\begin{itemize} + \item BLEU (measuring n-gram overlap) + \item ROUGE\_1 (unigram comparison) + \item ROUGE\_2 (bigram comparison) +\end{itemize} + +This enables quantitative comparison of generated summaries against reference texts. The implementation utilizes HuggingFace's \texttt{evaluate} library to load and compute these metrics. +First, install the required Python packages: + +\begin{minted}{bash} +pip install evaluate absl-py rouge_score +\end{minted} + +The core evaluation function is implemented as follows: + +\begin{minted}{python} +import evaluate +def evaluate_summaries(generated_summary, reference_summary): + """ + Evaluate generated summaries against reference summaries using multiple metrics. + + Args: + generated_summary (str): The summary generated by the model + reference_summary (str): The reference/ground truth summary + + Returns: + dict: Dictionary containing scores for different metrics + """ + # Initialize metrics + bleu = evaluate.load("google_bleu") + rouge = evaluate.load("rouge") + + # Format inputs for BLEU (expects list of str for predictions and list of list of str for references) + predictions = [generated_summary] + references = [reference_summary] + + # Compute BLEU score + bleu_score = bleu.compute(predictions=predictions, references=[references]) + + # Compute ROUGE scores + rouge_score = rouge.compute(predictions=predictions, references=references) + + # Compute Character metric + # Combine all scores into a single dictionary + scores = { + 'bleu': bleu_score["google_bleu"], + 'rouge1': rouge_score['rouge1'], + 'rouge2': rouge_score['rouge2'] + } + + return scores +\end{minted} + +For instance, \texttt{evaluate\_summaries} can be used to compare two arbitrary sentences and returns a dictionary with our chosen metrics: + +\begin{minted}{python} +sentence1 = "the cat sat on the mat" +sentence2 = "the cat ate the mat" +evaluate_summaries(sentence1, sentence2) +\end{minted} + + +\begin{verbatim} + {'bleu': 0.3333333333333333, + 'rouge1': 0.7272727272727272, + 'rouge2': 0.4444444444444445} +\end{verbatim} + + +Next, we define \texttt{generate\_summary}, our simple LLM-based SEC filing summarizer application using OpenAI's API. It takes an arbitrary \texttt{model}, and an \texttt{input} text and returns the corresponding LLM's response with a summary. + +\begin{minted}{python} +from openai import OpenAI +client = OpenAI() + +def generate_summary(model, input): + """ + Generate a summary of input using a given model + """ + TASK = "Generate a 1-liner summary of the following excerpt from an SEC filing." + + prompt = f""" + ROLE: You are an expert analyst tasked with summarizing SEC filings. + TASK: {TASK} + """ + + response = client.chat.completions.create( + model=model, + messages=[{"role": "system", "content": prompt}, + {"role": "user", "content": input}] + ) + return response.choices[0].message.content +\end{minted} +Next, we define \texttt{evaluate\_summary\_models} - our benchmark evaluator - that compares text summaries generated by different language models against a benchmark model. The function: + +\begin{enumerate} + \item Takes a benchmark model, list of test models, prompt, and input text + \item Generates a reference summary using the benchmark model and our \texttt{generate\_summary} function + \item Generates summaries from all test models using \texttt{generate\_summary} function + \item Evaluates each test model's summary against the benchmark using \texttt{evaluate\_summaries} + \item Returns evaluation results and the generated summaries +\end{enumerate} + +\begin{minted}{python} +def evaluate_summary_models(model_benchmark, models_test, input): + """ + Evaluate summaries generated by multiple models + """ + benchmark_summary = generate_summary(model_benchmark, input) + + # Generate summaries for all test models using list comprehension + model_summaries = [generate_summary(model, input) for model in models_test] + + # Evaluate each model's summary against the benchmark + evaluation_results = [evaluate_summaries(summary, benchmark_summary) for summary in model_summaries] + + return [evaluation_results, model_summaries, benchmark_summary] +\end{minted} + +We are ready to run our benchmark evaluation. We define a benchmark model and a list of test models and then evaluate each test model's summary against the benchmark. We also print the generated summaries for each model. + +\begin{minted}{python} +model_benchmark = "gpt-4o" +models_test = ["gpt-4o-mini", "gpt-4-turbo", "gpt-3.5-turbo"] + +evals, model_summaries, benchmark_summary = evaluate_summary_models(model_benchmark, models_test, sec_filing) + +print(benchmark_summary) +\end{minted} + + + + \begin{verbatim} +Apple Inc.'s 10-K filing for the fiscal year ending September 28, 2024, outlines its operational and financial condition, detailing the company's diverse product lines, market activities, and compliance with SEC requirements. + \end{verbatim} + + + +\begin{minted}{python} +# Print each model name and its summary +for model, summary in zip(models_test, model_summaries): + print(f"{model}: \n {summary} \n---------------") +\end{minted} + +\begin{verbatim} +gpt-4o-mini: + Apple Inc. filed its Annual Report on Form 10-K for the fiscal year ending September 28, 2024, detailing its business operations, risks, and financial condition. +--------------- +gpt-4-turbo: + Apple Inc.'s Form 10-K for the fiscal year ended September 28, 2024, details its annual report as a well-known seasoned issuer, confirming compliance with SEC regulations and reporting on stock performances, securities, and corporate governance, while also including forward-looking statements subject to various risks. +--------------- +gpt-3.5-turbo: + Apple Inc. filed its Form 10-K with the SEC, revealing financial information for the fiscal year ended September 28, 2024, including details on its products and market performance. +--------------- +\end{verbatim} + + +The benchmark summary from \texttt{gpt-4o} provides a balanced overview of the analyzed excerpt from Apple's 10-K filing, focusing on operational status, financial condition, product lines, and regulatory compliance. + +When comparing our test models against the benchmark, we observe that \texttt{gpt-4o-mini} provides a concise yet comprehensive summary that closely aligns with the benchmark's core message. While it omits product lines, it effectively captures the essential elements of the filing including business operations, risks, and financial condition. Its brevity and focus look (subjectively) similar to our benchmark model. + +\texttt{gpt-4-turbo} performs adequately but tends toward verbosity. While it includes relevant information about SEC compliance, it introduces peripheral details about seasoned issuer status and forward-looking statements. The additional complexity makes the summary less focused than \texttt{gpt-4o-mini}'s version. + +\texttt{gpt-3.5-turbo} looks quite different from the benchmark. Its summary, while factually correct, is overly simplified and misses key aspects of the filing. The model captures basic financial information but fails to convey the breadth of operational and compliance details present in the benchmark summary. + +Of course, the above evaluation is only based on a single example and is heavily subjective. It's a ``vibe check'' on our evaluation results. Now, for an objective analysis, we can look at the quantitative metrics we have chosen and use the \texttt{visualize\_prompt\_comparison} function we write below to visualize the performance of our test models across our predefined quantitative metrics. + +\begin{minted}{bash} +pip install matplotlib +\end{minted} + +\begin{minted}{python} +def visualize_prompt_comparison(evaluation_results, model_names): + """ + Create a radar plot comparing different prompt variations + + Args: + evaluation_results (list): List of dictionaries containing evaluation metrics + model_names (list): List of names for each prompt variation + """ + from evaluate.visualization import radar_plot + + # Format data for visualization + plot = radar_plot(data=evaluation_results, model_names=model_names) + return plot + +# Create and display visualization +plot = visualize_prompt_comparison(evals, models_test) +plot.show() +\end{minted} + + +\begin{figure}[h] +\centering +\includegraphics[width=0.8\textwidth]{evals/evals_30_1.png} +\caption{Radar plot comparing model performance across evaluation metrics} +\label{fig:model_comparison} +\end{figure} + +Results demonstrate that tested models perform quite differently on our predefined metrics. The evaluation metrics puts \texttt{gpt-4o-mini} as the closest aligned to the benchmark, followed by \texttt{gpt-4-turbo}, and \texttt{gpt-3.5-turbo} showing the largest deviation. This suggests that \texttt{gpt-4o-mini} is the best model for this task at least on the metrics we have chosen and for the set of models we have tested. + +While evaluating language model outputs inherently involves subjective judgment, establishing a high-quality benchmark model and using quantifiable metrics provide a more objective framework for comparing model performance. This approach transforms an otherwise qualitative assessment into a measurable, data-driven evaluation process. + +These metrics provide quantifiable measures of performance, however limitations should be mentioned: + +\begin{itemize} + \item \textbf{Task-specific nature}: Chosen set of metrics might not fully capture the nuances of complex generative-based tasks, especially those involving subjective human judgment. + \item \textbf{Sensitivity to data distribution}: Performance on these metrics can be influenced by the specific dataset used for evaluation, which might not represent real-world data distribution. + \item \textbf{Subjective Acceptable Threshold}: These metrics are not always easy to interpret and set a threshold for (see \sidecite{sarmah2024choosethresholdevaluationmetric} for a discussion on how to choose a threshold for an evaluation metric for large language models). + \item \textbf{Inability to assess reasoning or factual accuracy}: These metrics primarily focus on surface-level matching and might not reveal the underlying reasoning process of the LLM or its ability to generate factually correct information. +\end{itemize} + +In conclusion, selecting an appropriate extrinsic metrics set depends on the specific task, underlying business requirements and desired evaluation granularity. Understanding the limitations of these metrics can provide a more comprehensive assessment of LLM performance in real-world applications. + +To address these limitations, alternative approaches like \textbf{human-based evaluation} and \textbf{model-based evaluation} are often used, which will be discussed in the following sections. +\section{Evaluators} + +\subsection{Model-Based Evaluation} +\label{sec:model-based-eval} +Traditional metrics like BLEU or ROUGE often fall short in capturing the nuanced, contextual, and creative outputs of LLMs. As an alternative we can consider a ``Model-based evaluation'' approach. A common approach is to use an LLM as a judge. This is an approach that leverages language models themselves to assess the quality of outputs from other language models. This method involves using a model (often a more capable one) to act as an automated judge, evaluating aspects like accuracy, coherence, and relevance of generated content. Unlike traditional metrics that rely on exact matching or statistical measures, model-based evaluation can capture nuanced aspects of language and provide more contextual assessment. + +As discussed in the paper \sidecite{li2024leveraginglargelanguagemodels}, LLM-based evaluation approaches generally fall into two main categories: + +\begin{enumerate} + \item \textbf{Prompt-based evaluation}: This involves using prompts to instruct existing LLMs to evaluate text quality without any fine-tuning. The evaluation can take several forms: + \begin{itemize} + \item Score-based: LLMs assign numerical scores to generated text + \item Probability-based: Using generation probability as a quality metric + \item Likert-style: Rating text quality on discrete scales + \item Pairwise comparison: Directly comparing two texts + \item Ensemble methods: Combining multiple LLM evaluators + \end{itemize} + \item \textbf{Tuning-based evaluation}: This involves fine-tuning open-source LLMs specifically for evaluation tasks. This can be more cost-effective than repeatedly using API calls and allows for domain adaptation. +\end{enumerate} + +Once you have chosen your approach, a general LLM-as-a-Judge procedure involves the following steps (see Figure~\ref{fig:llm_judge}): +\begin{enumerate} + \item \textbf{Define Evaluation Criteria}: Establish clear benchmarks, such as relevance, coherence, accuracy, and fluency. + \item \textbf{Prepare Prompts}: Craft effective prompts to guide the LLM in evaluating content against the criteria. + \item \textbf{Define Reference Data}: Establish a set of reference data that the judge model can use to evaluate the generated outputs. (\textit{Optional}) + \item \textbf{Run Evaluations}: Use the judge model to score outputs. Consider using a large and/or more capable model as a judge to provide more nuanced assessments. + \item \textbf{Aggregate and Analyze Results}: Interpret scores to refine applications. +\end{enumerate} +\begin{figure}[h] +\centering +\includesvg[width=0.6\textwidth]{evals/llm_judge.svg} +\caption{Conceptual overview of LLM-as-a-Judge evaluation.} +\label{fig:llm_judge} +\end{figure} + +Compared to traditional metrics, LLM-as-a-Judge evaluation offers a more sophisticated assessment framework by leveraging natural language criteria. While metrics focus on statistical measures, judge models excel at evaluating subjective qualities such as creativity, narrative flow, and contextual relevance - aspects that closely mirror human judgment. The judge model processes evaluation guidelines expressed in natural language, functioning similarly to a human reviewer interpreting assessment criteria. One notable consideration is that this approach requires careful prompt engineering to properly define and communicate the evaluation standards to the model. + +Prompt Engineering can have a large impact on the quality of the evaluation \sidecite{li2024leveraginglargelanguagemodels}. Hence, it's worth noting key prompting best practices when designing LLM-as-a-judge evaluators \sidecite{huggingface2024llmjudge}: +\begin{enumerate} + \item Use discrete integer scales (e.g., 1-5) rather than continuous ranges + \item Provide clear rubrics that define what each score level means + \item Include reference answers when available to ground the evaluation + \item Break down complex judgments into specific evaluation criteria +\end{enumerate} + +Additionally, the interpretability of the evaluation framework can be fostered by: +\begin{enumerate} + \item Requiring explanations and reasoning for scores to increase transparency + \item Having a hollistic evaluation by considering multiple dimensions such as coherence, relevance, and fluency +\end{enumerate} +Below we provide a sample implementation of an LLM-as-a-Judge evaluation system for our LLM application that generates SEC filing summaries. The code defines: + +\begin{enumerate} + \item A \texttt{JudgeEvaluation} Pydantic model that enforces type validation for four key metrics: + \begin{itemize} + \item \textbf{Expertise}: Rating of analyst-level writing quality + \item \textbf{Coherence}: Score for logical organization + \item \textbf{Fluency}: Assessment of grammar and clarity + \item \textbf{Similarity}: Measure of alignment with reference text + \end{itemize} + + \item An \texttt{evaluate\_with\_llm()} function that: + \begin{itemize} + \item Takes a judge model, candidate summary, and reference summary as inputs + \item Constructs a detailed prompt instructing the LLM to act as an expert evaluator + \item Uses structured output parsing to return scores in a consistent format + \item Returns scores on a 1-10 scale for each evaluation criterion + \end{itemize} +\end{enumerate} + +The implementation demonstrates how to combine structured data validation with natural language evaluation to create a robust automated assessment system. + +\begin{minted}{python} +from pydantic import BaseModel +from typing import List, Dict + +class JudgeEvaluation(BaseModel): + expertise: int + coherence: int + fluency: int + similarity: int +def evaluate_with_llm(judge_model: str, candidate_summary: str, reference_summary: str) -> Dict[str, float]: + """ + Use an LLM to evaluate a candidate summary against a reference summary. + + Args: + judge_model (str): Name of the model to use as the judge. + candidate_summary (str): Generated summary to evaluate. + reference_summary (str): Ground truth or benchmark summary. + + Returns: + dict: Dictionary containing evaluation scores for specified criteria. + """ + prompt = f""" + ROLE: You are an expert evaluator of SEC Filing summaries. Evaluate the following candidate summary against the reference summary on a scale of 1 to 10 for the following criteria: + - Expertise: Does the summary look like it was written by an expert analyst? + - Coherence: Is the candidate summary logically organized and easy to understand? + - Fluency: Is the language of the candidate summary clear and grammatically correct? + - Similarity: How similar is the candidate summary compared to the reference summary? + + Reference Summary: + "{reference_summary}" + + Candidate Summary: + "{candidate_summary}" + + Provide scores in this format: + Expertise: X, Coherence: Y, Fluency: Z, Similarity: W + """ + completion = client.beta.chat.completions.parse( + model=judge_model, + messages=[{"role": "system", "content": prompt}], + response_format=JudgeEvaluation + ) + return completion.choices[0].message.parsed +\end{minted} +Next, we define an \texttt{evaluate\_summary\_models} function that leverages our LLM-as-a-Judge function to compare summaries generated by different language models. The function works in three steps: + +First, it generates a benchmark summary using the specified benchmark model. Then, it generates summaries using each of the test models. Finally, it evaluates each test model's summary against the benchmark using the judge model. + +As a result, we get a list of evaluation results we can use to compare our candidate LLM models across our predefined metrics. + +\begin{minted}{python} +def evaluate_summary_models(judge_model: str, benchmark_model: str, test_models: List[str], input_text: str): + """ + Evaluate summaries generated by multiple models using an LLM-as-a-Judge approach. + + Args: + judge_model (str): Name of the model to use as the judge. + benchmark_model (str): Name of the benchmark model. + test_models (list): List of model names to test. + input_text (str): Input text for summarization. + + Returns: + tuple: Evaluation results, model summaries, benchmark summary. + """ + benchmark_summary = generate_summary(benchmark_model, input_text) + model_summaries = [generate_summary(model, input_text) for model in test_models] + + evaluation_results = [ + evaluate_with_llm(judge_model, summary, benchmark_summary) + for summary in model_summaries + ] + + return evaluation_results, model_summaries, benchmark_summary +\end{minted} + +\begin{minted}{python} +# Example Usage +model_benchmark = "gpt-4o" +models_test = ["gpt-4o-mini", "gpt-4-turbo", "gpt-3.5-turbo"] +judge_model = "gpt-4o" + +evals, model_summaries, benchmark_summary = evaluate_summary_models( + judge_model, model_benchmark, models_test, sec_filing +) +\end{minted} +Here, we can see the benchmark summary coming from our benchmark model \texttt{gpt-4o}: + +\begin{minted}{python} +benchmark_summary +\end{minted} + + + \begin{verbatim} + "Apple Inc.'s annual report for the fiscal year ending September 28, 2024, details its business operations, financial condition, and product lines, including iPhones, Macs, iPads, and wearables, and incorporates forward-looking statements regarding its future performance." + \end{verbatim} + + +Next, we obtain the summaries and evaluation results generated by our test models, \texttt{gpt-4o-mini}, \texttt{gpt-4-turbo} and \texttt{gpt-3.5-turbo}, respectively. + +\begin{minted}{python} +model_summaries +\end{minted} + + + + \begin{verbatim} + ['Apple Inc. filed its annual Form 10-K report for the fiscal year ended September 28, 2024, detailing its business operations, product lines, and financial performance.', + "This Form 10-K filing by Apple Inc. for the fiscal year ended September 28, 2024, is an annual report detailing the company's financial performance, including registered securities, compliance with SEC reporting standards, and contains sections on business operations, risk factors, financial data, and management analysis.", + 'Apple Inc., a California-based technology company, reported an aggregate market value of approximately $2.6 trillion held by non-affiliates, with 15.1 billion shares of common stock outstanding as of October 18, 2024.'] + \end{verbatim} + + +As a result, we obtain a list of objects from the defined \texttt{JudgeEvaluation} Pydantic class which contains the evaluation metrics: expertise, coherence, fluency and similarity. + +\begin{minted}{python} +evals +\end{minted} + +\begin{verbatim} +[JudgeEvaluation(expertise=7, coherence=8, fluency=8, similarity=7), + JudgeEvaluation(expertise=7, coherence=7, fluency=8, similarity=5), + JudgeEvaluation(expertise=4, coherence=5, fluency=7, similarity=2)] +\end{verbatim} + + +\begin{minted}{python} +# Convert evaluation objects to dictionaries +evals_list = [ + { + "expertise": eval.expertise, + "coherence": eval.coherence, + "fluency": eval.fluency, + "similarity": eval.similarity + } + for eval in evals +] + +# Visualize results +plot = visualize_prompt_comparison(evals_list, models_test) +plot.show() +\end{minted} + + + +\begin{figure}[h] +\centering +\includegraphics{evals/evals_46_1.png} +\caption{Evaluation metrics comparison across test models} +\label{fig:eval-comparison} +\end{figure} + +Analyzing the evaluation results across our test models (\texttt{gpt-4o-mini}, \texttt{gpt-4-turbo}, \texttt{gpt-3.5-turbo}), several interesting patterns emerge: + +The \texttt{gpt-4o-mini} model demonstrated strong performance, achieving high scores across all metrics (expertise: 7, coherence: 8, fluency: 8, similarity: 7). This performance suggests it maintained robust quality despite being a smaller variant of our benchmark model \texttt{gpt-4o}. + +The \texttt{gpt-4-turbo} model exhibited comparable expertise and fluency scores (7 and 8 respectively) but showed slightly reduced coherence (7) and notably lower similarity (5) compared to the benchmark. These results could indicate some divergence from the reference summary while maintaining overall quality. + +The \texttt{gpt-3.5-turbo} model recorded the lowest scores (expertise: 4, coherence: 5, fluency: 7, similarity: 2), with particular weaknesses in expertise and similarity to the benchmark. While maintaining acceptable fluency, the marked decrease in similarity score indicates substantial deviation from the reference summary. + +Figure \ref{fig:eval-comparison} illustrates these differences across models and evaluation dimensions. A distinct performance gradient can be observed from \texttt{gpt-4o-mini} to \texttt{gpt-3.5-turbo}, with the latter exhibiting significant degradation across most metrics. +Leveraging LLMs for evaluation has several limitations \sidecite{li2024leveraginglargelanguagemodels}. Firstly, computational overhead should not be neglected given the inherent cost of running additional model inferences iterations. LLM evaluators can also exhibit various biases, including order bias (preferring certain sequence positions), egocentric bias (favoring outputs from similar models), and length bias. Further, there may be a tight dependency on prompt quality - small prompt variations may lead to substantially different outcomes. It is important to also note challenges around domain-specific evaluation in fields such as medicine, finance, law etc, where a general llm-as-a-judge approach may not be suitable. + +The LLM-as-a-Judge strategy can serve as a scalable and nuanced solution to evaluate LLM-based applications. While it does not entirely replace metrics-based or human-based approaches, it significantly augments evaluation workflows, especially in scenarios requiring evaluation of generative outputs. Future improvements in our example include integrating human oversight and refining LLMs for domain-specific evaluation tasks. + +One open source solution trying to overcome some of these challenges is Glider \sidecite{deshpande2024glidergradingllminteractions}, a 3B evaluator LLM that can score any text input and associated context on arbitrary user defined criteria. Glider is an LLM model trained on 685 domains and 183 criteria whose judgement scores show $91.3\%$ agreement with human judgments, making it suitable for a diverse range of real world applications. + +\section{Evaluating Evaluators} + +We have discussed how LLMs can be used to evaluate LLM-based aplications. However, how can we evaluate the performance of LLMs that evaluate other LLMs? This is the question that meta evaluation aims to answer. Clearly, the discussion can become quite meta as we need to evaluate the performance of the evaluator to evaluate the performance of the evaluated model. However, one can make a case for two general options: + +\begin{enumerate} + \item Use a golden-standard dataset that is used to evaluate the performance of LLM evaluators using a ``metrics-based'' approach. + \item Use a human evaluator to generate reference scores that can be used to evaluate the performance of the LLM evaluator (similar to the human-based evaluation we discussed earlier). +\end{enumerate} +As depicted in Figure~\ref{fig:meta}, the performance of the LLM evaluator can be evaluated by comparing its scores to either a golden-standard dataset or human reference scores. Higher correlation values indicate better performance of the LLM evaluator. For instance, if we were to evaluate the performance of a LLM-as-a-judge evaluator, in the task of evaluating multilingual capability of an LLM: +\begin{enumerate} + \item In a ``metrics-based'' approach, we would first need to define a set of metrics that capture the task of multilingual capability. For instance, we could use the BLEU metric to evaluate the quality of the generated LLM output against a golden dataset (e.g. machine translated text). We would then calculate the correlation between these scores against those generated by the LLM evaluator. The higher the correlation, the better the LLM evaluator. + \item In a ``human-based'' approach, we would need to recruit human evaluators that are experts in the target languages we are evaluating. Expert humans would provide scores for a set of samples of the input LLM. We would then calculate the correlation between these scores against those generated by the LLM evaluator. The higher the correlation, the better the LLM evaluator. +\end{enumerate} + +\begin{figure}[h] +\centering +\includegraphics{evals/meta.png} +\caption{Conceptual overview of LLMs Meta Evaluation} +\label{fig:meta} +\end{figure} +An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is Judge Arena \sidecite{judgearena2024}, which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in Figure~\ref{fig:meta2}. Only after submitting a vote, users can see which models were actually doing the judging. + +\begin{figure}[h] +\centering +\includegraphics{evals/meta2.png} +\caption{Human-in-the-loop Meta Evaluation} +\label{fig:meta2} +\end{figure} + +The LLM input and its prompt are displayed to the human evaluator and are customizable enabling task-specific meta evaluation. Further, the Judge Arena's LLM Judge's prompt is also editable by the user. Its default prompt is presented below: +\begin{quote} +Does the model provide relevant and useful responses to the user's needs or questions? + +\textbf{Scoring Rubric:} + +Score 1: The model's responses are irrelevant or unhelpful to the user's needs or queries. + +Score 2: The model sometimes provides helpful information, but often fails to address the user's actual needs or questions. + +Score 3: The model generally provides helpful responses that address the user's needs, though it may occasionally miss the mark. + +Score 4: The model regularly provides helpful responses that are well-aligned with the user's inquiries, with only rare inaccuracies. + +Score 5: The model consistently offers highly relevant and useful responses that perfectly cater to the user's needs and inquiries. +\end{quote} + +Judge Arena's approach and policy framework has three key benefits worth highlighting: +\begin{enumerate} + \item Transparency through open-source code, documentation, and data sharing + \item LLM inclusion criteria requiring scoring/critique capabilities and public accessibility + \item ELO-based leaderboard system with community involvement in evaluations +\end{enumerate} + +In that way, the platform enables democratic evaluation of AI judges while maintaining transparency and accessibility standards. + +\section{Benchmarks and Leaderboards} + +Benchmarks act as standardized tests for LLMs, evaluating their performance across a spectrum of tasks. These tasks simulate real-world applications such as answering questions, generating coherent text, solving mathematical problems, or even writing computer code. They also assess more abstract qualities like fairness, robustness, and cultural understanding. + +Benchmarks can be thought as comprehensive ``exams'' that probe different ``subjects'' in order to certify an LLM. They help researchers and developers compare models systematically, in a way LLM performance is comparable while enabling the identification of emergent behaviors or capabilities as models evolve in scale and sophistication. + +The history of LLM benchmarks reflects the evolving priorities of artificial intelligence research, starting with foundational tasks and moving toward complex, real-world challenges. We can start in 2018 with the introduction of \textbf{GLUE} (General Language Understanding Evaluation) \sidecite{wang2019gluemultitaskbenchmarkanalysis}, which set a new standard for evaluating natural language understanding. GLUE measured performance on tasks like sentiment analysis and textual entailment, providing a baseline for assessing the fundamental capabilities of language models. Later, \textbf{SuperGLUE} \sidecite{nangia2019superglue} expanded on this foundation by introducing more nuanced tasks that tested reasoning and language comprehension at a deeper level, challenging the limits of models like BERT and its successors. + +As AI capabilities grew, benchmarks evolved to capture broader and more diverse aspects of intelligence. \textbf{BIG-Bench} \sidecite{srivastava2023imitationgamequantifyingextrapolating} marked a turning point by incorporating over 200 tasks, spanning arithmetic, logic, and creative problem-solving. This collaborative effort aimed to probe emergent abilities in large models, offering insights into how scale and complexity influence performance. Around the same time, specialized benchmarks like \textbf{TruthfulQA} \sidecite{2021truthfulqa} emerged, addressing the critical need for models to provide accurate and non-deceptive information in a world increasingly dependent on AI for factual content. + +\textbf{MMLU} (Massive Multitask Language Understanding) \sidecite{hendrycks2021measuringmassivemultitasklanguage} launched in 2021, provided a rigorous test of a model's multidisciplinary knowledge, covering 57 subjects from STEM fields to humanities and social sciences. Similarly, in 2022, Stanford's \textbf{HELM} (Holistic Evaluation of Language Models) \sidecite{liang2023holisticevaluationlanguagemodels} set a new standard for multidimensional assessment. HELM expanded the scope of evaluation beyond accuracy, incorporating factors like fairness, robustness, and computational efficiency. This benchmark was designed to address societal concerns surrounding AI, emphasizing safety and inclusion alongside technical performance. + +Specialized benchmarks like \textbf{HumanEval} (2021) \sidecite{chen2021evaluatinglargelanguagemodels} focused on domain-specific tasks, such as code generation, testing models' ability to translate natural language descriptions into functional programming code. In contrast, \textbf{LMSYS} (2023) brought real-world applicability into focus by evaluating conversational AI through multi-turn dialogues. LMSYS prioritized coherence, contextual understanding, and user satisfaction, providing a practical lens for assessing models like GPT and Claude in dynamic settings. + +The \textbf{HuggingFace Open LLM} \sidecite{openllmleaderboard2024} Leaderboard stands out for its transparency and accessibility in the open-source community. This leaderboard evaluates a wide range of LLMs across diverse tasks, including general knowledge, reasoning, and code-writing. Its commitment to reproducibility ensures that results are verifiable, enabling researchers and practitioners to replicate findings. By focusing on open-source models, it democratizes AI research and fosters innovation across communities, making it a valuable resource for both academics and industry professionals. + +The \textbf{Chatbot Arena} (2024) Leaderboard (an evolution of LMSYS) \sidecite{chiang2024chatbotarenaopenplatform} takes an alternative approach by measuring real-world performance through direct model comparisons. Its evaluation format compares models in live conversations, with human judges providing qualitative assessments. This methodology has gathered hundreds of thousands of human evaluations, offering specific insights into practical model performance. The emphasis on interactive capabilities makes it relevant for developing user-facing applications like virtual assistants and chatbots. + +The \textbf{AlpacaEval} \sidecite{dubois2024lengthcontrolledalpacaevalsimpleway} and \textbf{MT-Bench} \sidecite{zheng2023judgingllmasajudgemtbenchchatbot} Leaderboards implement automated evaluation using LLMs to assess model performance in multi-turn conversations. This approach enables consistent assessment of dialogue capabilities while reducing human bias. Their methodology measures key aspects of conversational AI, including contextual understanding and response consistency across multiple exchanges. + +An important recent development was the release of Global-MMLU \sidecite{singh2024globalmmluunderstandingaddressing}, an improved version of MMLU with evaluation coverage across 42 languages. This open dataset, built through collaboration between Argilla, the Hugging Face community, and researchers from leading institutions like Cohere For AI, Mila, MIT, and others, represents a significant step toward more inclusive multilingual LLM evaluation. Hundreds of contributors used Argilla to annotate MMLU questions, revealing that $85\%$ of questions requiring specific cultural knowledge were Western-centric. The newly released dataset is divided into two key subsets: Culturally Agnostic questions that require no specific regional or cultural knowledge, and Culturally Sensitive questions that depend on dialect, cultural, or geographic knowledge. With high-quality translations available for 25 languages, Global-MMLU enables better understanding of LLM capabilities and limitations across different languages and cultural contexts. + +A major challenge with these leaderboards and benchmarks is test set contamination - when test data ends up in newer models' training sets, rendering the benchmarks ineffective. While some benchmarks try to address this through crowdsourced prompts and evaluations from humans or LLMs, these approaches introduce their own biases and struggle with difficult questions. \textbf{LiveBench} \sidecite{white2024livebenchchallengingcontaminationfreellm} represents a novel solution, designed specifically to be resilient to both contamination and evaluation biases. As the first benchmark with continuously updated questions from recent sources, automated objective scoring, and diverse challenging tasks across multiple domains, LiveBench maintains its effectiveness even as models improve. Drawing from recent math competitions, research papers, news, and datasets, it creates contamination-free versions of established benchmark tasks. Current results show even top models achieving considerably lower performance compared to other benchmarks, demonstrating LiveBench's ability to meaningfully differentiate model capabilities with relatively lower saturation. With monthly updates and an open collaborative approach, LiveBench aims to provide sustained value for model evaluation as the field advances. + +Another notable benchmark is ZebraLogic \sidecite{zebralogic2024}, which evaluates logical reasoning capabilities of LLMs through Logic Grid Puzzles - a type of Constraint Satisfaction Problem \sidecite{brailsford1999constraint} commonly found in tests like the LSAT. These puzzles require assigning unique values to $N$ houses across $M$ different features based on given clues, demanding strategic reasoning and deduction to arrive at a unique correct solution. The benchmark's programmatically generated puzzles range from $2\times2$ to $6\times6$ in size and test LLMs using one-shot examples with reasoning steps. While humans can solve these puzzles through strategic methods like reductio ad absurdum and elimination, LLMs demonstrate significant limitations in this type of logical reasoning. Even the best-performing model, Claude 3.5 Sonnet, only achieves $33.4\%$ accuracy across all puzzles and $12.4\%$ on hard puzzles, with smaller models (7-10B parameters) solving less than $1\%$ of hard puzzles as of December 2024. These results reveal critical gaps in LLMs' capabilities around counterfactual thinking, reflective reasoning, structured memorization, and compositional generalization. + +A significant milestone in AI evaluation came with the launch of the \textbf{The Alignment Research Center (ARC) Prize} \sidecite{arcprize2024} by ARC Prize Inc., a non-profit for the public advancement of open artificial general intelligence. Hosted by Mike Knoop (Co-founder, Zapier) and François Chollet (Creator of Keras), this prize represents a paradigm shift in how we evaluate language models. Rather than focusing on narrow performance metrics, the ARC Prize assesses what it calls ``cognitive sufficiency'' - a model's ability to generate meaningful insights and tackle open-ended challenges. This new way to think about LLM evaluation emphasizes creative thinking, sophisticated reasoning, and the capacity to make genuinely useful contributions to human knowledge. Arguably, it is an attempt to define and measure a step towards what it means to achieve AGI (Artificial General Intelligence). + +\begin{quote} +\textbf{Defining AGI according to ARC Prize:} + +Consensus but wrong: +\begin{itemize} + \item AGI is a system that can automate the majority of economically valuable work. +\end{itemize} + +Correct: +\begin{itemize} + \item AGI is a system that can efficiently acquire new skills and solve open-ended problems. +\end{itemize} +\end{quote} + +The ARC benchmark distinguishes itself from other LLM benchmarks especially in its resistance to memorization by prioritizing: + +\begin{itemize} + \item \textbf{Focus on Core Knowledge:} Unlike LLM benchmarks that test a broad range of knowledge and skills, often relying heavily on memorization, ARC focuses on core knowledge similar to what a four or five-year-old child might possess. This includes basic concepts like object recognition, counting, and elementary physics. + + \item \textbf{Novelty of Tasks:} Each ARC puzzle is designed to be novel, meaning it's something you likely wouldn't have encountered before, even if you had memorized the entire internet. This characteristic directly challenges the way LLMs typically operate, which is by leveraging their vast ``interpolative memory.'' + + \item \textbf{Emphasis on Program Synthesis:} ARC tasks require models to synthesize new solution programs on the fly for each unique puzzle. This stands in contrast to the more common LLM approach of retrieving pre-existing solution programs from memory. + + \item \textbf{Resistance to Brute Force Attempts:} While acknowledging the possibility, ARC aims to be resistant to brute-force approaches where a model might be trained on millions of similar puzzles to achieve a high score by relying on overlap with the test set. +\end{itemize} + +ARC-AGI tasks are a series of three to five input and output tasks followed by a final task with only the input listed (e.g. Figure~\ref{arc}). Each task tests the utilization of a specific learned skill based on a minimal number of cognitive priors. A successful submission is a pixel-perfect description (color and position) of the final task's output. + +\begin{figure}[h] +\centering +\includegraphics[scale=0.5]{evals/arc.png} +\label{arc} +\end{figure} +These features make the ARC benchmark a unique test of machine intelligence, focusing on the ability to adapt to novelty and solve problems without relying heavily on memorization. This is more aligned with the concept of general intelligence, which emphasizes the ability to learn efficiently and tackle new challenges. + +The ARC-AGI benchmark remained unbeaten for five years as of December 2024 (a minimum score of $85\%$ in the private dataset is required to win) \sidecite{arcprizeresults2024}. A key takeaway is that algorithmic improvements, rather than massive computational resources, may be key to exceeding the target score for the ARC-AGI benchmark. + +In addition to the benchmarks discussed above, a growing set of domain-specific benchmarks is emerging to help evaluate LLMs in specific verticals, including: +\begin{itemize} + \item \textbf{FinBench} \sidecite{zhang2024finbench}: Evaluates LLMs in the financial domain, covering tasks such as terminology understanding, temporal reasoning, future forecasting, scenario planning, and numerical modelling. + \item \textbf{LegalBench} \sidecite{guha2023legalbench}: Assesses the legal reasoning abilities of LLMs through tasks crowdsourced by legal professionals + \item \textbf{Berkeley Function Leaderboard (BFCL)} \sidecite{patil2023gorilla}: Evaluates LLMs' function-calling abilities +\end{itemize} + +As language models continue to advance in capability and complexity, evaluation frameworks must evolve. Modern benchmarks increasingly incorporate tests for nuanced reasoning, ethical decision-making, and emergent capabilities that weren't previously measurable. This ongoing evolution reflects a deeper understanding that the true value of language models lies not in achieving high scores on standardized tests with narrow task-specific metrics, but in their ability to meaningfully contribute to human understanding and help solve real-world problems while demonstrating the ability to learn and adapt to new tasks. + +In the following sections, we will explore some open source tools developers can use to automate and streamline the challenging task of LLMs evals. +\section{Tools} + +\subsection{LightEval} + +LightEval \sidecite{lighteval} is a lightweight framework for evaluation of LLMs across a variety of standard and bespoke metrics and tasks across multiple inference backends via Python SDK and CLI. + +As a motivating example, consider a scenario where financial data has been extracted from SEC financial filings and require econometric analysis. Tasks like estimating autoregressive models for time series forecasting or conducting hypothesis tests on market efficiency are common in financial analysis. Let's evaluate how well different models perform on this type of task. + +First, we need to select a benchmark to assess LLMs capabilities in this domain. MMLU has a sub-benchmark called Econometrics we can use for this task. Table~\ref{mmlu-econometrics} shows a sample of the benchmark dataset from MMLU Econometrics. It consists of multiple-choice questions from econometrics and expected answers. + +\begin{table*}[h] +\caption{MMLU Econometrics Task Dataset sample} +\label{mmlu-econometrics} +\begin{tabular}{p{0.3\textwidth}p{0.3\textwidth}p{0.15\textwidth}p{0.1\textwidth}p{0.15\textwidth}} +\hline +Question & Options & Correct Options & Index & Literal \\ +\hline +Consider the following AR(1) model with the disturbances having zero mean and unit variance: $y_t = 0.2 + 0.4 y_{t-1} + u_t$ The (unconditional) mean of y will be given by & ["0.2", "0.4", "0.5", "0.33"] & ["b"] & [3] & ["0.33"] \\ +\hline +Suppose that a test statistic has associated with it a p-value of 0.08. Which one of the following statements is true? (i) If the size of the test were exactly 8\%, we... & ["(ii) and (iv) only", "(i) and (iii) only", "(i), (ii), and (iii) only", "(i), (ii), (iii), and (iv)"] & ["c"] & [2] & ["(i), (ii), and (iii) only"] \\ +\hline +What would be then consequences for the OLS estimator if heteroscedasticity is present in a regression model but ignored? & ["It will be biased", "It will be inconsistent", "It will be inefficient", "All of (a), (b) and (c) will be true."] & ["c"] & [2] & ["It will be inefficient"] \\ +\hline +Suppose now that a researcher wishes to use information criteria to determine the optimal lag length for a VAR. 500 observations are available for the bivariate VAR... & ["1 lag", "2 lags", "3 lags", "4 lags"] & ["c"] & [2] & ["3 lags"] \\ +\hline +\end{tabular} +\end{table*} +The code sample below demonstrates the LightEval Python SDK framework for evaluating a target LLM model on a given task. First, we instantiate an \texttt{EvaluationTracker} which manages result storage, in this example kept in a local directory \texttt{output\_dir}, and tracks detailed evaluation metrics, optionally pushed to HuggingFace Hub. + +Next, we instantiate an object of the class \texttt{PipelineParameters} which, in this example, configures the pipeline for parallel processing with a temporary cache in \texttt{cache\_dir} also setting the maximum number of samples to process to \texttt{max\_samples}. Then, in \texttt{BaseModelConfig} we set up the LLM model we would like to evaluate defined in \texttt{pretrained}. + +\begin{minted}{bash} +pip install lighteval[accelerate] +\end{minted} +\begin{minted}{python} +import lighteval +from lighteval.logging.evaluation_tracker import EvaluationTracker +from lighteval.models.model_config import BaseModelConfig +from lighteval.pipeline import ParallelismManager, Pipeline, PipelineParameters +from lighteval.utils.utils import EnvConfig +from lighteval.utils.imports import is_accelerate_available +from datetime import timedelta +from accelerate import Accelerator, InitProcessGroupKwargs + + +def create_evaluation_pipeline(output_dir: str, cache_dir: str, pretrained: str, dtype: str = "float16", max_samples: int = 10, task: str): + if is_accelerate_available(): + from accelerate import Accelerator, InitProcessGroupKwargs + accelerator = Accelerator(kwargs_handlers=[InitProcessGroupKwargs(timeout=timedelta(seconds=3000))]) + else: + accelerator = None + + evaluation_tracker = EvaluationTracker( + output_dir=output_dir, + save_details=True, + push_to_hub=False + ) + + pipeline_params = PipelineParameters( + launcher_type=ParallelismManager.ACCELERATE, + env_config=EnvConfig(cache_dir=cache_dir), + override_batch_size=1, + max_samples=max_samples + ) + + model_config = BaseModelConfig( + pretrained=pretrained, + dtype=dtype, + use_chat_template=True, + trust_remote_code=True + ) + + pipeline = Pipeline( + tasks=task, + pipeline_parameters=pipeline_params, + evaluation_tracker=evaluation_tracker, + model_config=model_config + ) + + return pipeline +\end{minted} +Figure~\ref{fig:lighteval} shows a schematic representation of its key components. As inference engine, we leverage \texttt{accelerate} for distributed evaluation. \texttt{lighteval} also supports other inference backends such as \texttt{vllm} and \texttt{tgi}. + +\begin{figure}[h] +\centering +\includegraphics{evals/lighteval.png} +\caption{LightEval Python SDK Sample Conceptual Overview.} +\label{fig:lighteval} +\end{figure} + +This setup allows for systematic evaluation of language model performance on specific tasks while handling distributed computation and result tracking. + +The final Pipeline combines these components to evaluate in the user defined \texttt{task}, which follows the following format: + +\begin{minted}{bash} +\{suite\}|\{task\}|\{num_few_shot\}|\{0 or 1 to automatically reduce num_few_shot if prompt is too long\} +\end{minted} + +The task string format follows a specific pattern with four components separated by vertical bars ($|$): + +\begin{enumerate} +\item suite: The evaluation suite name (e.g., ``leaderboard'') +\item task: The specific task name (e.g., ``mmlu:econometrics'') +\item num\_few\_shot: The number of few-shot examples to use (e.g., ``0'' for zero-shot) +\item A binary flag (0 or 1) that controls whether to automatically reduce the number of few-shot examples if the prompt becomes too long +\end{enumerate} +LightEval provides a comprehensive set of evaluation tasks \sidecite{lighteval_tasks} and metrics \sidecite{lighteval_metrics}. The available tasks span multiple categories and benchmarks including BigBench, MMLU, TruthfulQA, WinoGrande, and HellaSwag. The framework also supports standard NLP evaluation metrics including BLEU, ROUGE, Exact Match, F1 Score, and Accuracy. + +In our case, we choose to evaluate our LLMs on the MMLU econometrics task using zero-shot learning. Hence, we define the \texttt{task} as follows: + +\begin{minted}{python} +task = "leaderboard|mmlu:econometrics|0|0" +\end{minted} + +Example usage to evaluate an LLM, for instance \texttt{meta-llama/Llama-3.2-1B-Instruct}, on the MMLU econometrics task using zero-shot learning: + +\begin{minted}{python} +task = "leaderboard|mmlu:econometrics|0|0" +model = "meta-llama/Llama-3.2-1B-Instruct" +pipeline = create_evaluation_pipeline(output_dir="./evals/", + cache_dir="./cache/", + pretrained=model, + task=task) +\end{minted} +We can then evaluate the pipeline, save and show its results as follows: + +\begin{minted}{python} +pipeline.evaluate() +pipeline.save_and_push_results() +pipeline.show_results() +\end{minted} + +The results are then stored in \texttt{output\_dir} in JSON format. + +The same results can be obtained by using the LightEval CLI: + +\begin{minted}{bash} +lighteval accelerate --model_args "pretrained=meta-llama/Llama-3.2-1B-Instruct" --tasks "leaderboard|mmlu:econometrics|0|0" --override_batch_size 1 --output_dir="./evals/" +\end{minted} +Comparing the performance of multiple open source models on the MMLU econometrics task requires careful consideration of computational resources. While local evaluation is possible, leveraging a remote server proves more efficient in terms of time and resources. LightEval facilitates this by enabling model serving on a TGI-compatible server/container and executing evaluations through server requests \sidecite{lighteval_server}. + +The HuggingFace Serverless Inference API provides an ideal solution for this purpose\sidenote{A bug was discovered in LightEval that initially prevented compatibility with the HuggingFace Serverless Inference API: \url{https://github.com/huggingface/lighteval/issues/422}. The LightEval team has since resolved this issue.}. The configuration file for LightEval should be structured as follows, where \texttt{} represents the model identifier on HuggingFace (e.g., \texttt{meta-llama/Llama-3.2-1B-Instruct}) and \texttt{} is the user's HuggingFace API token. Alternatively, a URL for a dedicated inference API can be specified if available. + +\begin{minted}{yaml} +model: + type: "tgi" + instance: + inference_server_address: "https://api-inference.huggingface.co/models/" + inference_server_auth: "" + model_id: null +\end{minted} +Now we can run the evaluation by sending requests to the server as follows by using the same bash command as before but now setting the \texttt{model\_config\_path} to the path of the configuration file we have just created (e.g. \texttt{endpoint\_model.yaml}): + +\begin{minted}{bash} +lighteval accelerate --model_config_path="endpoint_model.yaml" --tasks "leaderboard|mmlu:econometrics|0|0" --override_batch_size 1 --output_dir="./evals/" +\end{minted} + +To complete our task, we evaluate a few models from the following model families: \texttt{Llama3.2}, \texttt{Qwen2.5}, and \texttt{SmolLM2} as described in Table~\ref{tab:model-families}. + +\begin{table}[h] +\caption{Model Families Evaluated Using LightEval} +\label{tab:model-families} +\begin{tabular}{llll} +\hline +Model Family & Description & Models & References \\ +\hline +Llama3.2 Instruct & LLaMA architecture-based pretrained & \texttt{Llama-3.2-1B-Instruct} & \sidecite{meta_llama_models} \\ + & and instruction-tuned generative models & \texttt{Llama-3.2-3B-Instruct} & \\ +\hline +Qwen2.5 Instruct & Instruction-tuned LLMs family & \texttt{Qwen2.5-0.5B-Instruct} & \sidecite{gpt2docs,hui2024qwen2,qwen2} \\ + & built by Alibaba Cloud & \texttt{Qwen2.5-1.5B-Instruct} & \\ + & & \texttt{Qwen2.5-3B-Instruct} & \\ +\hline +SmolLM2 Instruct & Instruction-tuned family of compact & \texttt{SmolLM2-360M-Instruct} & \sidecite{allal2024SmolLM2} \\ + & language models built by HuggingFace & \texttt{SmolLM2-1.7B-Instruct} & \\ +\hline +\end{tabular} +\end{table} +We can then compare the performance of these models on the MMLU econometrics task as shown in Figure~\ref{fig:model-comparison}. + +\begin{figure}[h] +\centering +\includegraphics{evals/model-comparison.png} +\caption{Model performance comparison on MMLU Econometrics task, showing accuracy scores across different model sizes and architectures.} +\label{fig:model-comparison} +\end{figure} + +The results reveal several interesting patterns in model performance. As expected, we observe a trend where larger models consistently achieve higher accuracy scores. The evaluation shows distinct clusters among model families, with Qwen2.5, Llama-3.2, and SmolLM2 each exhibiting their own scaling characteristics, suggesting that architectural differences lead to varying degrees of efficiency as model size increases. Particularly noteworthy is the performance of the Qwen2.5 family, which demonstrates superior accuracy even at smaller model sizes when compared to Llama-3.2. + +Of course, the results should be taken with a grain of salt given the limited size of the dataset (MMLU Econometrics $\sim$ 100), limited number of models and sizes. However, it gives a good indication of the capabilities of the different models tested with Qwen2.5 family being an interesting first candidate as a relatively small yet powerful model demonstrating a good trade-off between performance and size. Once tested on real-world data, the results will change but these initial findings are a good data-driven starting point for model selection as you begin your LLM-based application development. + +In summary, LightEval is a simple yet flexible and comprehensive framework for evaluating LLMs across a wide variety of tasks and metrics. It can serve as a first step in selecting your next LLM for a specific task given the exponential growth in number of (open source) models available \sidecite{hf_num_models}. Its integration with the Hugging Face ecosystem and modular architecture make it particularly powerful for evaluating open source models. For further details, visit the official repository\sidenote{\url{https://github.com/huggingface/lighteval}} \sidecite{lighteval}. +\subsection{LangSmith} + +Let's revisit our evaluation example when we were interested in evaluating the quality of summaries generated by different (smaller and cheaper) LLM models compared to a benchmark model (larger and more expensive). Recall the setup: + +\begin{itemize} +\item Benchmark model: \texttt{gpt-4o} +\item Test models: \texttt{gpt-4o-mini}, \texttt{gpt-4-turbo}, \texttt{gpt-3.5-turbo} +\end{itemize} + +We can run evaluation using only LangSmith without the need of LangChain. + +\begin{minted}{bash} +!pip uninstall langchain +!pip uninstall langchain-community +!pip uninstall langchain-openai +!pip install langsmith +\end{minted} + +We need to generate an API key to use LangSmith. See instructions at \url{https://docs.smith.langchain.com/}. Remember to export your API\_KEY. Activating tracing will allow us to track logs and foster observability of our evaluation. + +\begin{minted}{bash} +export LANGCHAIN_TRACING_V2=true +export LANGCHAIN_API_KEY= +\end{minted} + +\begin{minted}{python} +import evaluate as hf_evaluate # HuggingFace's evaluate +from langsmith import evaluate as langsmith_evaluate # LangSmith's evaluate +from langsmith import Client +from typing import Dict, Any + +ls_client = Client() +\end{minted} + +The code below creates a dataset in LangSmith that will serve as our golden dataset for evaluation. The dataset consists of test cases where we create a single example with the following content: + +\begin{itemize} +\item An input: Our SEC filing document +\item An expected output: A golden summary generated by our benchmark model (\texttt{gpt-4o}) +\end{itemize} + +This dataset will allow us to evaluate how well other models perform compared to our benchmark by comparing their generated summaries against these reference summaries. In practice, it's recommended to create a larger dataset with more diverse examples to get a more accurate assessment of model capabilities as well as to estimate confidence intervals for target metrics. + +\begin{minted}{python} +# Define dataset: these are your test cases +dataset_name = "Golden SEC Summary Dataset" +dataset = ls_client.create_dataset(dataset_name) +ls_client.create_examples( + inputs=[ + {"sec_filing": sec_filing}, + ], + outputs=[ + {"summary": benchmark_summary}, + ], + dataset_id=dataset.id, +) +\end{minted} +Our Dataset is now available in LangSmith as shown in Figure~\ref{fig:langsmith_dataset}. +\begin{figure}[h] +\centering +\includegraphics{evals/langsmith_dataset.png} +\label{fig:langsmith_dataset} +\caption{LangSmith Dataset} +\end{figure} + +Next, we write our evaluator. This evaluator calculates BLEU scores between generated and reference summaries using HuggingFace's evaluate package. The evaluator takes two dictionaries as input - one containing the generated summary and another containing the reference summary. It returns a dictionary with the Google BLEU score, which measures the overlap between n-grams in the generated and reference texts similar to our previous metric-based experiments. + +\begin{minted}{python} +def calculate_scores(outputs: Dict[str, Any], reference_outputs: Dict[str, Any]) -> dict: + """ + Custom evaluator that calculates BLEU and ROUGE scores between generated and reference summaries + using HuggingFace's evaluate package + + Args: + outputs (dict): Contains the generated summary + reference_outputs (dict): Contains the reference summary + + Returns: + dict: Dictionary containing Google BLEU score + """ + generated = outputs.get("summary", "") + reference = reference_outputs.get("summary", "") + + # Initialize metrics from HuggingFace's evaluate + bleu = hf_evaluate.load("google_bleu") + + # Format inputs for BLEU (expects list of str for predictions and list of list of str for references) + predictions = [generated] + references = [reference] + + # Compute BLEU score + bleu_score = bleu.compute(predictions=predictions, references=[references]) + + return {"key": "google_bleu", "score": bleu_score["google_bleu"]} +\end{minted} +Now that we have defined our evaluation metrics, let's create a function to generate summaries for our smaller models. The function below takes a dictionary containing the SEC filing text as input and returns a dictionary with the generated summary. The prompt instructs the model to act as an expert analyst and generate a one-line summary of the filing excerpt. We use the same task and model configuration as in our previous experiments to maintain consistency in our evaluation pipeline. + +\begin{minted}{python} +from openai import OpenAI +oai_client = OpenAI() +\end{minted} + +\begin{minted}{python} +TASK = "Generate a 1-liner summary of the following excerpt from an SEC filing." + +PROMPT = f""" +ROLE: You are an expert analyst tasked with summarizing SEC filings. +TASK: {TASK} +""" + +xp_model_name = "" # model to be tested + +def generate_summary(inputs: dict): + """ + Generate a summary of input using a given model + """ + TASK = "Generate a 1-liner summary of the following excerpt from an SEC filing." + + response = oai_client.chat.completions.create( + model=xp_model_name, # model_name is a global variable + messages=[{"role": "system", "content": PROMPT}, + {"role": "user", "content": inputs.get("sec_filing")}] + ) + return {"summary": response.choices[0].message.content} +\end{minted} + +Lastly we define a function to run our evaluation. The \texttt{run\_evaluation()} function uses LangSmith's \texttt{evaluate()} to run evaluations either locally or remotely. When running locally, results are not uploaded to LangSmith's servers. The function takes an application, dataset, and list of evaluators as input and returns the evaluation results. The application is the \texttt{generate\_summary()} function we would like to evaluate. The \texttt{dataset} is the golden summary from the strong model. And we pass a list with our single evaluator \texttt{calculate\_scores()}. LangSmith also allows for running multiple repetitions of the same experiment to get a more accurate assessment of model capabilities as well as to estimate confidence intervals for target metrics, which we set to 5 repetitions. + +This allows us to systematically assess our LLM-based application while maintaining control over where results are stored. + +\begin{minted}{python} +def run_evaluation(app, model_name, dataset, evaluators, upload_results=False): + global xp_model_name + xp_model_name = model_name + results = langsmith_evaluate( + app, + client=None, + data=dataset, + evaluators=evaluators, + experiment_prefix=model_name, + num_repetitions=5, + upload_results= upload_results, # This is the key parameter for local evaluation + + ) + + return results +\end{minted} +Now we are ready run evaluation on our app across all target LLM models. + +\begin{minted}{python} +app = generate_summary +\end{minted} + +\begin{minted}{python} +models = ["gpt-3.5-turbo", "gpt-4-turbo", "gpt-4o-mini"] +results = [run_evaluation(app, model, dataset=dataset_name, evaluators=[calculate_scores], upload_results=True) for model in models] +\end{minted} + +We can obtain the results for all experiments including the execution time and the Google BLEU score. + +\begin{minted}{python} +import pandas as pd + +# Create list of dataframes from results +dfs = [result.to_pandas() for result in results] + +for df, model in zip(dfs, models): + df.insert(0, 'model', model) + +combined_df = pd.concat(dfs, ignore_index=True) +combined_df.head() +\end{minted} + + + +\begin{table*}[h] +\centering +\begin{tabular}{lllllllll} +\hline + & model & inputs.sec\_filing & outputs.summary & error & reference.summary & feedback.google\_bleu & execution\_time & example\_id \\ +\hline +0 & gpt-3.5-turbo & UNITED STATES\textbackslash nSECURITIES... & Apple Inc.'s Form 10-K... & None & Apple Inc.'s 10-K filing... & 0.333333 & 1.224388 & feb10f92-3167-41f3... \\ +1 & gpt-3.5-turbo & UNITED STATES\textbackslash nSECURITIES... & Apple Inc. filed its Form... & None & Apple Inc.'s 10-K filing... & 0.348101 & 0.722464 & feb10f92-3167-41f3... \\ +2 & gpt-3.5-turbo & UNITED STATES\textbackslash nSECURITIES... & Apple Inc. filed its annual... & None & Apple Inc.'s 10-K filing... & 0.386076 & 0.704104 & feb10f92-3167-41f3... \\ +3 & gpt-3.5-turbo & UNITED STATES\textbackslash nSECURITIES... & Apple Inc. filed its Annual... & None & Apple Inc.'s 10-K filing... & 0.443038 & 0.725059 & feb10f92-3167-41f3... \\ +4 & gpt-3.5-turbo & UNITED STATES\textbackslash nSECURITIES... & Apple Inc. filed its Annual... & None & Apple Inc.'s 10-K filing... & 0.373418 & 0.795302 & feb10f92-3167-41f3... \\ +\hline +\end{tabular} +\caption{Evaluation Results for GPT-3.5-turbo Model} +\label{tab:eval-results} +\end{table*} + + + +```python +# Calculate statistics per model +stats = combined_df.groupby('model').agg({ + 'feedback.google_bleu': ['mean', 'std'], + 'execution_time': ['mean', 'std'] +}).round(4) + +# Sort by execution time +stats = stats.sort_values(('execution_time', 'mean')) +``` + +\begin{figure}[h] +\centering +\includegraphics{evals/evals_74_0.png} +\label{fig:eval-results} +\caption{Model Performance Comparison} +\end{figure} + + + +\begin{table}[h] +\centering +\begin{tabular}{lcccc} +\hline +\multirow{2}{*}{Model} & \multicolumn{2}{c}{Google BLEU} & \multicolumn{2}{c}{Execution Time (s)} \\ +\cline{2-5} +& Mean & Std & Mean & Std \\ +\hline +GPT-4o-mini & 0.4038 & 0.0453 & 0.7815 & 0.0433 \\ +GPT-3.5-turbo & 0.3768 & 0.0424 & 0.8343 & 0.2208 \\ +GPT-4-turbo & 0.3519 & 0.0775 & 0.9122 & 0.1482 \\ +\hline +\end{tabular} +\caption{Detailed Model Performance Statistics} +\label{tab:model-stats} +\end{table} +The evaluation results reveal notable differences between the models. GPT-3.5-turbo achieved a Google BLEU score of $0.377 \pm 0.042$ with average execution time of $0.83s \pm 0.22s$. GPT-4-turbo scored slightly lower at $0.352 \pm 0.078$ and was slower at $0.91s \pm 0.15s$. GPT-4o-mini performed best with a BLEU score of $0.404 \pm 0.045$ while being fastest at $0.78s \pm 0.04s$. + +As expected, results suggest that the newer GPT-4o-mini model achieves better quality while maintaining lower latency compared to both GPT-3.5 and GPT-4 turbo variants. The standard deviations indicate that GPT-4-turbo has the most variable output quality, while GPT-4o-mini is most consistent in both quality and speed. Interestingly, the more advanced gpt-4-turbo model has lower BLEU scores but takes longer to execute. This suggests that model size and computational complexity don't necessarily correlate with better performance on this specific summarization task. Of course, this is a very simple task further increasing the number of experiment iterations will yield more accurate results. + +Since we decided to upload result, we can also visualize the experiment results in LangSmith as shown in Figure~\ref{fig:langsmith}. + +\begin{figure}[h] +\centering +\includegraphics{evals/langsmith.png} +\label{fig:langsmith} +\caption{LangSmith Experiment Results} +\end{figure} +\subsection{PromptFoo} + +PromptFoo \sidecite{promptfoo2024} is an open-source framework designed for evaluating applications that utilize LLMs. Key features include: + +\begin{enumerate} + \item \textbf{Automated Testing}: PromptFoo provides automated testing capabilities, allowing developers to run custom evaluations tailored to their applications. + + \item \textbf{Custom Probes}: Developers can create custom probes to focus on specific use cases for instance decoupling prompts from tests cases. + + \item \textbf{User-Friendly CLI}: The framework features a command-line interface that supports live reloads and caching, facilitating rapid testing and iteration. +\end{enumerate} + +We will use PromptFoo's command line interface in the following examples. Please follow installation instructions at \url{https://www.promptfoo.dev/docs/installation/#for-command-line-usage}. + +Evals are defined in a configuration file \texttt{promptfooconfig.yaml}, which defines elements such as providers, prompts, test cases, and assertions. + +In the following example, we will perform a two-step evaluation: + +\begin{enumerate} + \item Evaluate the performance of different LLM models given a set of constraints. + \item Evaluate the quality of different prompts for the best performing model from 1. +\end{enumerate} + + +\begin{minted}{python} +import yaml + +# Read the YAML file +with open('promptfoo/model_comparison/promptfooconfig.yaml', 'r') as f: + config = yaml.safe_load(f) + +# Pretty print the YAML content +print(yaml.dump(config, default_flow_style=False, sort_keys=False)) +\end{minted} + +\begin{minted}{yaml} +description: Best model eval +prompts: +- file://prompt1.txt +providers: +- openai:gpt-4o-mini +- openai:gpt-4 +- openai:gpt-3.5-turbo +defaultTest: + assert: + - type: cost + threshold: 0.001 + - type: latency + threshold: 1000 + - type: python + value: len(output) < 200 + - type: llm-rubric + value: Does the summary look like it was written by an expert analyst [Yes/No]? +tests: file://tests.csv +\end{minted} + +The configuration file demonstrates PromptFoo's capabilities for evaluating different LLM models. The YAML configuration defines three providers (\texttt{gpt-4o-mini}, \texttt{gpt-4}, and \texttt{gpt-3.5-turbo}) and sets up test assertions to validate their outputs. These assertions check important constraints: + +\begin{enumerate} + \item \textbf{Cost efficiency}: Each inference must cost less than \$0.001 + \item \textbf{Latency requirements}: Response time must be under 1000ms + \item \textbf{Output length}: Generated text must be less than 200 characters + \item \textbf{Output quality}: An LLM-based rubric evaluates if the output appears to be written by an expert (uses \texttt{openai:gpt-4o} model) +\end{enumerate} + +The prompts are loaded from an external file (\texttt{prompt1.txt}) and test cases are defined in \texttt{tests.csv}. This structured approach enables systematic evaluation of model performance across multiple decoupled dimensions. + +\begin{minted}{bash} +promptfoo eval --no-cache --output eval.json +\end{minted} + +This command will run the evaluation and store the results in \texttt{eval.json} while making sure that the evaluation is not cached so we are measuring actual latency of the LLMs. The code below processes the PromptFoo evaluation results stored in \texttt{eval.json}. It reads the evaluation data from the JSON file and extracts key metrics including: + +\begin{itemize} + \item Provider name (e.g. \texttt{gpt-4}, \texttt{gpt-3.5-turbo}) + \item Latency in milliseconds + \item Token usage statistics + \item Cost per request + \item Number of passed/failed assertions + \item Prompt token count + \item Total number of API requests +\end{itemize} + +\begin{minted}{python} +import json +import pandas as pd + +# Read the JSON file +with open('promptfoo/model_comparison/eval.json', 'r') as f: + eval_data = json.load(f) + +# Extract results into a list of dictionaries +results = [] +for prompt in eval_data['results']['prompts']: + result = { + 'provider': prompt['provider'], + 'latency_ms': prompt['metrics']['totalLatencyMs'], + 'token_usage': prompt['metrics']['tokenUsage']['total'], + 'cost': prompt['metrics']['cost'], + 'assert_pass': prompt['metrics']['assertPassCount'], + 'assert_fail': prompt['metrics']['assertFailCount'], + 'prompt_tokens': prompt['metrics']['tokenUsage']['prompt'], + 'num_requests': prompt['metrics']['tokenUsage']['numRequests'] + } + results.append(result) +\end{minted} + + +\begin{minted}{python} +# Convert to DataFrame +df = pd.DataFrame(results) +print(df) +\end{minted} + +\begin{table}[h] +\centering +\begin{tabular}{|l|r|r|r|} +\hline +Variable & openai:gpt-4o-mini & openai:gpt-4 & openai:gpt-3.5-turbo \\ +\hline +Latency (ms) & 2463 & 3773 & 1669 \\ +Token Usage & 97 & 103 & 95 \\ +Cost & \$0.000035 & \$0.004620 & \$0.000091 \\ +Assert Pass & 6 & 4 & 7 \\ +Assert Fail & 2 & 4 & 1 \\ +Prompt Tokens & 52 & 52 & 52 \\ +Num Requests & 2 & 2 & 2 \\ +\hline +\end{tabular} +\caption{Performance comparison across different OpenAI models} +\label{tab:model-comparison} +\end{table} +The evaluation results reveal interesting performance characteristics across different OpenAI models. \texttt{GPT-3.5-turbo} demonstrates the best overall performance given our criteria with the lowest latency (1669ms), lowest token usage (95), and highest number of passed assertions (7). While \texttt{GPT-4} shows higher token usage (103) and latency (3773ms), it also has the highest cost per request (\$0.00462). The \texttt{GPT-4-mini} variant offers a middle ground, with moderate latency and token usage, while maintaining relatively good assertion performance (6 passes). These results suggest that for this particular evaluation task, \texttt{GPT-3.5-turbo} provides the best balance of performance, reliability, and cost-effectiveness. + +Promptfoo also offers a web interface for visualizing the evaluation results as shown in Figure~\ref{fig:promptfoo1}. + +\begin{minted}{bash} +promptfoo view +\end{minted} + +We can observe results per test case (i.e. section of the SEC filing) and per provider. Humans can also manually review the results and provide feedback as well as generate new test cases. + + + +\begin{table*}[h] + \begin{tabular}{lll} + \hline + Model Family & Description & Models \\ + \hline + Llama3.2 Instruct \cite{meta_llama_models} & LLaMA architecture-based \newline pretrained and instruction-tuned \newline generative models & \texttt{Llama-3.2-1B-Instruct} and + \texttt{Llama-3.2-3B-Instruct} \\ + \hline + Qwen2.5 Instruct \cite{gpt2docs,hui2024qwen2,qwen2} & Instruction-tuned LLMs family \newline built by Alibaba Cloud & \texttt{Qwen2.5-0.5B-Instruct}, \texttt{Qwen2.5-1.5B-Instruct} and \texttt{Qwen2.5-3B-Instruct} \\ + \hline + SmolLM2 Instruct \cite{allal2024SmolLM2} & Instruction-tuned family of \newline compact language models \newline built by HuggingFace & \texttt{SmolLM2-360M-Instruct} and \texttt{SmolLM2-1.7B-Instruct} \\ + \hline + \end{tabular} + \caption{Model Families Evaluated Using LightEval} + \label{tab:model-families} + \end{table*} + + + +\begin{figure}[h] +\centering +\includegraphics[width=0.3\textwidth]{evals/promptfoo1.png} +\caption{PromptFoo evaluation results showing performance metrics across different models.} +\label{fig:promptfoo1} +\end{figure} + +Now that we have established \texttt{GPT-3.5-turbo} as our model of choice given the minimum required criteria based on cost, latency and basic qualitative evaluation, we can compare the performance of different prompts as a next evaluation step. Can we improve the quality of the summaries by using different prompts? + +First, we redefine our evaluation criteria. We now would like to select the prompt that delivers the most ``detailed'' summaries. Our updated promptfoo configuration file is shown below. + +\begin{minted}{python} +# Read the YAML file +with open('promptfoo/prompt_comparison/promptfooconfig.yaml', 'r') as f: + config = yaml.safe_load(f) + +# Pretty print the YAML content +print(yaml.dump(config, default_flow_style=False, sort_keys=False)) +\end{minted} + +\begin{minted}{yaml} +description: Best model eval +prompts: +- file://prompt1.txt +- file://prompt2.txt +- file://prompt3.txt +providers: +- openai:gpt-3.5-turbo +defaultTest: + assert: + - type: llm-rubric + value: 'Evaluate the output based on how detailed it is. Grade it on a scale + of 0.0 to 1.0, where: + + Score of 0.1: Not much detail. + + Score of 0.5: Some detail. + + Score of 1.0: Very detailed. + + ' +tests: file://tests.csv +\end{minted} + + +Note that we are now passing 3 different prompts. And we have updated our assertions to check if the output is ``detailed'' by leveraging promptfoo's \texttt{llm-rubric} assertion which will run an LLM-as-a-Judge for evaluation. Now, let's define 3 prompt variations we would like to test aiming at improving the quality/detail of the summaries. + +\begin{minted}{python} +# Display the prompt variations +from IPython.display import display, Markdown + +prompt_files = ['prompt1.txt', 'prompt2.txt', 'prompt3.txt'] +prompt_content = [] + +for file in prompt_files: + with open(f'promptfoo/prompt_comparison/{file}', 'r') as f: + content = f.read().strip() + prompt_content.append(f"### {file}\n---\n{content}\n") + +display(Markdown("\n\n".join(prompt_content))) +\end{minted} + +\begin{verbatim} +### prompt1.txt +--- +'Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' + + +### prompt2.txt +--- +'ROLE: You are a financial analyst. TASK: Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' + + +### prompt3.txt +--- +'ROLE: You are a financial analyst. REQUIREMENTS: BE DETAILED. TASK: Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' +\end{verbatim} + + +The first prompt matches our previous prompt. The second prompt adds a ``financial analyst'' role to the prompt. The third prompt expands on second prompt and add a requirement ``BE DETAILED''. + +We can now run the evaluation again. + +\begin{minted}{bash} +promptfoo eval --output eval.json +\end{minted} + +\begin{minted}{python} +# Read the evaluation results from JSON file +import json +with open('promptfoo/prompt_comparison/eval.json', 'r') as f: + eval_data = json.load(f) + +# Create a list to store the data +data = [] + +# Extract results for each test case +for result in eval_data['results']['results']: + section = result['vars']['section'] + prompt_id = result['promptId'] + score = result['gradingResult']['score'] if 'gradingResult' in result else 0.0 + + # Find the corresponding prompt file + for prompt in eval_data['results']['prompts']: + if prompt['id'] == prompt_id: + prompt_file = prompt['label'].split(':')[0] + break + + # Add to data list + data.append([section, prompt_file, score]) + +# Convert to DataFrame +df_raw = pd.DataFrame(data, columns=['Section', 'Prompt', 'Score']) + +# Pivot to get desired format +df = df_raw.pivot(index='Section', columns='Prompt', values='Score').reset_index() +df = df[['Section', 'prompt1.txt', 'prompt2.txt', 'prompt3.txt']] + +display(Markdown("### Prompt Comparison Results by Section")) +print(df) +\end{minted} + +\begin{table}[h] +\centering +\begin{tabular}{lccc} +\hline +Section & prompt1.txt & prompt2.txt & prompt3.txt \\ +\hline +Legal Proceedings & 0.1 & 0.5 & 1.0 \\ +Risk Factors & 0.1 & 0.5 & 0.5 \\ +\hline +\end{tabular} +\end{table} + +The results demonstrate that \texttt{prompt3.txt} exhibits superior performance for Legal Proceedings sections, attaining a perfect score of 1.0 compared to 0.5 for \texttt{prompt2.txt} and 0.1 for \texttt{prompt1.txt}. For Risk Factors sections, both \texttt{prompt2.txt} and \texttt{prompt3.txt} achieve moderate scores of 0.5, while \texttt{prompt1.txt} performs poorly with 0.1. This analysis suggests that \texttt{prompt3.txt} demonstrates greater effectiveness at extracting detailed information, particularly for legal content. The findings indicate that defining a Role and specifying requirements for detailed output serves as an effective approach to enhance summary quality, at least within the constraints of this specific task, model, and evaluation criteria. + +In conclusion, Promptfoo demonstrates its value as an effective LLM application evaluation tool, particularly through its capacity to decouple various components of the evaluation process. This decoupling enables users to concentrate on the most critical aspects of evaluation based on their specific application requirements and criteria, establishing Promptfoo as a versatile and valuable tool for LLM application development. + +\subsection{Comparison} + +Table~\ref{tab:tool-comparison} presents a comparative analysis of three open source frameworks for language models evaluation discussed: Lighteval, LangSmith, and Promptfoo. Each framework undergoes assessment based on key features including integration capabilities, customization options, ease of use, and the ability to facilitate human and LLM collaboration. +\begin{table}[h] +\centering +\begin{tabular}{lp{3cm}p{3cm}p{3cm}} +\hline +\textbf{Feature/Aspect} & \textbf{Lighteval} & \textbf{LangSmith} & \textbf{Promptfoo} \\ +\hline +\textbf{Integration} & Seamless with Hugging Face models, easy access to multiple inference engines, and remote evaluation (e.g., TGI servers, HF serverless models) & User-provided models, evaluators, and metrics & CLI-based, user-provided models via YAML \\ +\hline +\textbf{Customization} & Flexible task and metric support, quick evaluation against state-of-the-art leaderboards & Easy setup of custom tasks and metrics with plain vanilla Python functions, lacks predefined tasks and metrics & Default and user-provided probes, metrics, and assertions \\ +\hline +\textbf{Ease of Use} & User-friendly, minimal setup & User-friendly, minimal setup, includes UI for result visualization & Simple CLI, rapid testing, includes UI for result visualization \\ +\hline +\textbf{Human/LLM Collaboration} & Model-based evaluation & Model-based evaluation & Supports human and model evaluators \\ +\hline +\end{tabular} +\caption{Comparison of Lighteval, LangSmith, and Promptfoo} +\label{tab:tool-comparison} +\end{table} + +\section{Conclusion} + +Language models have fundamentally transformed how software is developed and evaluated. Unlike conventional systems that produce predictable outputs, LLMs generate varied, probabilistic responses that defy traditional testing approaches. While developers accustomed to deterministic systems may find this shift challenging, continuing to rely on legacy testing methods is unsustainable. These frameworks were not designed to handle the inherent variability of LLM outputs and will ultimately prove inadequate. + +Success requires embracing this new paradigm by implementing comprehensive evals that cover the non-deterministic generative nature of LLMs - this is the new Product Requirements Document (PRD) - and cultivating an organizational mindset focused on iteration, experimentation and growth. + +The shift from traditional software testing to LLM evaluation is not just a change in tools but a transformation in mindset. Those who recognize and adapt to this shift will lead the way in harnessing the power of LLMs in software development. diff --git a/tamingllms/latex/intro.tex b/tamingllms/latex/intro.tex index f17ddc3..a280ad4 100644 --- a/tamingllms/latex/intro.tex +++ b/tamingllms/latex/intro.tex @@ -1,45 +1,46 @@ -\chapter{About the Book} - -\begin{epigraph} -I am always doing that which I cannot do, in order that I may learn how to do it. +\setchapterpreamble[u]{\margintoc} --- Pablo Picasso -\end{epigraph} +\chapter{About the Book} +\labch{intro} -\tableofcontents +\epigraph{I am always doing that which I cannot do, in order that I may learn how to do it.}{Pablo Picasso} \section{Core Challenges We'll Address} -In recent years, Large Language Models (LLMs) have emerged as a transformative force in technology, promising to revolutionize how we build products and interact with computers. From ChatGPT and LLama to GitHub Copilot and Claude Artifacts these systems have captured the public imagination and sparked a gold rush of AI-powered applications. However, beneath the surface of this technological revolution lies a complex landscape of challenges that software developers and tech leaders must navigate. +In recent years, Large Language Models (LLMs) have emerged as a transformative force in technology, promising to revolutionize how we build products and interact with computers. From ChatGPT and LLama to GitHub Copilot and Claude Artifacts these systems have captured the public imagination and sparked a gold rush of AI-powered applications. However, beneath the surface of this technological revolution lies a complex landscape of challenges that software developers and tech leaders must navigate. This book focuses on bringing awareness to key LLM limitations and harnessing open source solutions to overcome them for building robust AI-powered products. It offers a critical perspective on implementation challenges, backed by practical and reproducible Python examples. While many resources cover the capabilities of LLMs, this book specifically addresses the hidden complexities and pitfalls that engineers and technical leaders face when building LLM-powered applications while offering a comprehensive guide on how to leverage battle-tested open source tools and solutions. Throughout this book, we'll tackle the following (non-exhaustive) list of critical challenges: \begin{enumerate} -\item \textbf{Structural (un)Reliability}: LLMs struggle to maintain consistent output formats, complicating their integration into larger systems and making error handling more complex. + \item \textbf{Structural (un)Reliability}: LLMs struggle to maintain consistent output formats, complicating their integration into larger systems and making error handling more complex. -\item \textbf{Input Data Management}: LLMs are sensitive to input data format, operate with stale data and struggle with long-context requiring careful input data management and retrieval strategies. + \item \textbf{Input Data Management}: LLMs are sensitive to input data format, operate with stale data and struggle with long-context requiring careful input data management and retrieval strategies. -\item \textbf{Testing Complexity}: Traditional software testing methodologies break down when dealing with non-deterministic and generative systems, requiring new approaches. + \item \textbf{Testing Complexity}: Traditional software testing methodologies break down when dealing with non-deterministic and generative systems, requiring new approaches. -\item \textbf{Safety and Alignment}: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment. + \item \textbf{Safety}: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment. -\item \textbf{Vendor Lock-in}: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions. + \item \textbf{Alignment}: LLMs are next-token prediction models, which means they are not aligned with the user's preferences by default. -\item \textbf{Cost Optimization}: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization. + \item \textbf{Vendor Lock-in}: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions. + + \item \textbf{Cost Optimization}: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization. \end{enumerate} +We conclude with a discussion on the future of LLMs and the challenges that will arise as we move forward. + \section{A Practical Approach} This book takes a hands-on approach to these challenges, with a focus on accessibility and reproducibility. All examples and code are: \begin{itemize} -\item Fully reproducible and documented, allowing readers to replicate results exactly -\item Designed to run on consumer-grade hardware without requiring expensive resources -\item Available as open source Python notebooks that can be modified and extended -\item Structured to minimize computational costs while maintaining effectiveness + \item Fully reproducible and documented, allowing readers to replicate results exactly + \item Designed to run on consumer-grade hardware without requiring expensive resources + \item Available as open source Python notebooks that can be modified and extended + \item Structured to minimize computational costs while maintaining effectiveness \end{itemize} \section{An Open Source Approach} @@ -47,10 +48,10 @@ \section{An Open Source Approach} Throughout this book, we'll leverage open source tools and frameworks to address common LLM challenges. In that way, we are prioritizing: \begin{itemize} -\item \textbf{Transparency}: Open source solutions provide visibility into how challenges are being addressed, allowing for better understanding and customization of solutions. -\item \textbf{Flexibility}: Open source tools can be modified and adapted to specific use cases, unlike black-box commercial solutions. -\item \textbf{Cost-Effectiveness}: Most of open source tools we will cover are freely available, fostering accessibility and reducing costs. -\item \textbf{Vendor Independence}: Open source solutions reduce dependency on specific providers, offering more freedom in architectural decisions. + \item \textbf{Transparency}: Open source solutions provide visibility into how challenges are being addressed, allowing for better understanding and customization of solutions. + \item \textbf{Flexibility}: Open source tools can be modified and adapted to specific use cases, unlike black-box commercial solutions. + \item \textbf{Cost-Effectiveness}: Most of open source tools we will cover are freely available, fostering accessibility and reducing costs. + \item \textbf{Vendor Independence}: Open source solutions reduce dependency on specific providers, offering more freedom in architectural decisions. \end{itemize} \section{Open Source Book} @@ -58,10 +59,10 @@ \section{Open Source Book} In keeping with these open source principles, this book itself is open source and available on GitHub. It's designed to be a living document that evolves with the changing landscape of LLM technology and implementation practices. Readers are encouraged to: \begin{itemize} -\item Report issues or suggest improvements through GitHub Issues -\item Contribute new examples or solutions via Pull Requests -\item Share their own experiences and solutions with the community -\item Propose new chapters or sections that address emerging challenges + \item Report issues or suggest improvements through GitHub Issues + \item Contribute new examples or solutions via Pull Requests + \item Share their own experiences and solutions with the community + \item Propose new chapters or sections that address emerging challenges \end{itemize} The repository can be found at \url{https://github.com/souzatharsis/tamingllms}. Whether you've found a typo, have a better solution to share, or want to contribute, your contributions are welcome. Please feel free to open an issue in the book repository. @@ -73,55 +74,55 @@ \section{A Note on Perspective} The current discourse around LLMs tends toward extremes - either uncritical enthusiasm or wholesale dismissal. This book takes a different approach: \begin{itemize} -\item \textbf{Practical Implementation Focus}: Rather than theoretical capabilities, we examine practical challenges and their solutions. -\item \textbf{Code-First Learning}: Every concept is illustrated with executable Python examples, enabling immediate practical application. -\item \textbf{Critical Analysis}: We provide a balanced examination of both capabilities and limitations, helping readers make informed decisions about LLM integration. + \item \textbf{Practical Implementation Focus}: Rather than theoretical capabilities, we examine practical challenges and their solutions. + \item \textbf{Code-First Learning}: Every concept is illustrated with executable Python examples, enabling immediate practical application. + \item \textbf{Critical Analysis}: We provide a balanced examination of both capabilities and limitations, helping readers make informed decisions about LLM integration. \end{itemize} \section{Who This Book Is For} -This book is designed for: +This book is designed for: \begin{itemize} -\item Software/AI Engineers building LLM-powered applications -\item Technical Product Managers leading GenAI initiatives -\item Technical Leaders making architectural decisions -\item Open Source advocates and/or developers building LLM Applications -\item Anyone seeking to understand the practical challenges of working with LLMs + \item Software/AI Engineers building LLM-powered applications + \item Technical Product Managers leading GenAI initiatives + \item Technical Leaders making architectural decisions + \item Open Source advocates and/or developers building LLM Applications + \item Anyone seeking to understand the practical challenges of working with LLMs \end{itemize} Typical job roles: \begin{itemize} -\item Software/AI Engineers building AI-powered platforms -\item Backend Developers integrating LLMs into existing systems -\item ML Engineers transitioning to LLM implementation -\item Technical Leads making architectural decisions -\item Product Managers overseeing GenAI initiatives + \item Software/AI Engineers building AI-powered platforms + \item Backend Developers integrating LLMs into existing systems + \item ML Engineers transitioning to LLM implementation + \item Technical Leads making architectural decisions + \item Product Managers overseeing GenAI initiatives \end{itemize} Reader motivation: \begin{itemize} -\item Need to build reliable, production-ready LLM applications -\item Desire to understand and overcome common LLM implementation challenges -\item Requirement to optimize costs and performance -\item Need to ensure safety and reliability in LLM-powered systems + \item Need to build reliable, production-ready LLM applications + \item Desire to understand and overcome common LLM implementation challenges + \item Requirement to optimize costs and performance + \item Need to ensure safety and reliability in LLM-powered systems \end{itemize} -The goal is to help readers understand and address these challenges early, before they become costly problems too late in the software development lifecycle. +The goal is to help readers understand and address these challenges early, before they become costly problems too late in the software development lifecycle. \section{Outcomes} After reading this book, the reader will understand critical LLM limitations and their implications and have practical experience on recommended open source tools and frameworks to help navigate common LLM pitfalls. The reader will be able to: \begin{itemize} -\item Implement effective strategies for managing LLMs limitations -\item Build reliable LLM-powered applications -\item Create robust testing frameworks for LLM-based systems -\item Deploy proper LLM safeguards -\item Make realistic effort estimations for LLM-based projects -\item Understand the hidden complexities that impact development timelines + \item Implement effective strategies for managing LLMs limitations + \item Build reliable LLM-powered applications + \item Create robust testing frameworks for LLM-based systems + \item Deploy proper LLM safeguards + \item Make realistic effort estimations for LLM-based projects + \item Understand the hidden complexities that impact development timelines \end{itemize} \section{Prerequisites} @@ -129,10 +130,10 @@ \section{Prerequisites} To make the most of this book, you should have: \begin{itemize} -\item Basic Python programming experience -\item Basic knowledge of LLMs and their capabilities -\item Access to and basic knowledge of LLM APIs (Mistral, OpenAI, Anthropic, or similar) -\item A desire to build reliable LLM-based applications + \item Basic Python programming experience + \item Basic knowledge of LLMs and their capabilities + \item Access to and basic knowledge of LLM APIs (Mistral, OpenAI, Anthropic, or similar) + \item A desire to build reliable LLM-based applications \end{itemize} \section{Setting Up Your Environment} @@ -141,28 +142,29 @@ \section{Setting Up Your Environment} \subsection{Code Repository} Clone the book's companion repository: -\begin{verbatim} +\begin{minted}{bash} git clone https://github.com/souzatharsis/tamingllms.git cd tamingllms/notebooks -\end{verbatim} +\end{minted} \subsection{Python Environment Setup} -\begin{verbatim} +\begin{minted}{bash} # Create and activate a virtual environment python -m venv taming-llms-env source taming-llms-env/bin/activate # On Windows, use: taming-llms-env\Scripts\activate -\end{verbatim} +\end{minted} + We will try and make each Chapter as self-contained as possible, including all necessary installs as we go through the examples. Feel free to use your preferred package manager to install the dependencies (e.g. \texttt{pip}). We used \texttt{poetry} to manage dependencies and virtual environments. \subsection{API Keys Configuration} \begin{enumerate} -\item Create a \texttt{.env} file in the root directory of the project. -\item Add your API keys and other sensitive information to the \texttt{.env} file. For example: + \item Create a \texttt{.env} file in the root directory of the project. + \item Add your API keys and other sensitive information to the \texttt{.env} file. For example: -\begin{verbatim} -OPENAI_API_KEY=your_openai_api_key_here -\end{verbatim} + \begin{minted}{bash} + OPENAI_API_KEY=your_openai_api_key_here + \end{minted} \end{enumerate} \begin{note} @@ -171,15 +173,15 @@ \subsection{API Keys Configuration} \subsection{Troubleshooting Common Issues} \begin{itemize} -\item If you encounter API rate limits, consider using smaller examples or implementing retry logic -\item For package conflicts, try creating a fresh virtual environment or use a package manager like \texttt{poetry} -\item Check the book's repository issues page for known problems and solutions + \item If you encounter API rate limits, consider using smaller examples or implementing retry logic + \item For package conflicts, try creating a fresh virtual environment or use a package manager like \texttt{poetry} + \item Check the book's repository issues page for known problems and solutions \end{itemize} Now that your environment is set up, let's begin our exploration of LLM challenges. \section{About the Author} -Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (\textit{incoming}) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students \& working professionals to help create a more diverse global AI1 ecosystem. +Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (\textit{incoming}) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students \& working professionals to help create a more diverse global AI ecosystem. With over 15 years of experience delivering technology products across startups and Fortune 500 companies, he is also an author of numerous scholarly publications and a frequent speaker at academic and business conferences. Grounded on academic background and drawing from practical experience building and scaling up products powered by language models at early-stage startups, major institutions as well as contributing to open source projects, he brings a unique perspective on bridging the gap between LLMs promised potential and their practical implementation challenges to enable the next generation of AI-powered products. diff --git a/tamingllms/markdown/evals.md b/tamingllms/markdown/evals.md index 9f732af..fac4a64 100644 --- a/tamingllms/markdown/evals.md +++ b/tamingllms/markdown/evals.md @@ -1,35 +1,42 @@ -# Challenges of Evaluating LLM-based Applications +(evals)= +# The Evals Gap ```{epigraph} -Evals are surprisingly often all you need. +It doesn't matter how beautiful your theory is,
    +it doesn't matter how smart you are.
    +If it doesn't agree with experiment, it's wrong. --- Greg Brockman, OpenAI's President +-- Richard Feynman ``` ```{contents} ``` -## Non-Deterministic Machines -One of the most fundamental challenges when building products with Large Language Models (LLMs) is their non-deterministic nature. Unlike traditional software systems where the same input reliably produces the same output, LLMs can generate different responses each time they're queried - even with identical prompts and input data. This characteristic is both a strength and a significant engineering challenge. +## Introduction -When you ask ChatGPT or any other LLM the same question multiple times, you'll likely get different responses. This isn't a bug - it's a fundamental feature of how these models work. The "temperature" parameter, which controls the randomness of outputs, allows models to be creative and generate diverse responses. However, this same feature makes it incredibly difficult to build reliable, testable systems. +The advent of LLMs marks a pivotal shift in the landscape of software development, testing and verification. Unlike traditional software systems, where deterministic outputs are the norm, LLMs introduce a realm of non-deterministic and generative behaviors that challenge conventional software engineering paradigms. This shift is not merely a technical evolution but a fundamental transformation in how we conceive, build, and assess software products. + +For those entrenched in traditional methodologies, the transition to LLM-driven systems may seem daunting. However, ignoring this change is not an option. The reliance on outdated testing frameworks that fail to account for the probabilistic nature of LLMs will inevitably lead to significant setbacks. + +To overcome these challenges, it is imperative to embrace the complexities of LLMs with a proactive mindset. This involves developing robust evaluation frameworks up-front that incorporate the generative nature of LLM-based software development while fostering a culture of continuous change, learning and adaptation. + + +## Non-Deterministic Generative Machines + +One of the most fundamental challenges when building products with LLMs is their generative and non-deterministic nature. Unlike traditional software systems where the same input reliably produces the same output, LLMs can generate novel text that may not exist in their training data, and produce different responses each time they're queried - even with identical prompts and input data. This behavior is both a strength and a significant engineering and product challenge. + +When you ask an LLM the same question multiple times, you'll likely get different responses. This isn't a bug - it's a fundamental feature of how these models work. The "temperature" parameter, which controls the randomness of outputs, allows models to be creative and generate diverse responses. However, this same feature makes it difficult to build reliable, testable systems. Consider a financial services company using LLMs to generate investment advice. The non-deterministic nature of these models means that: -- The same market data could yield different analysis conclusions -- Testing becomes exceedingly more complex compared to traditional software +- The same input data could yield different analysis conclusions - Regulatory compliance becomes challenging to guarantee - User trust may be affected by inconsistent responses - -### Temperature and Sampling +- Testing becomes exceedingly more complex compared to traditional software The primary source of non-determinism in LLMs comes from their sampling strategies. During text generation, the model: 1. Calculates probability distributions for each next token 2. Samples from these distributions based on temperature settings -3. Uses techniques like nucleus sampling to balance creativity and coherence - -### The Temperature Spectrum +3. Uses techniques like nucleus sampling {cite}`holtzman2020curiouscaseneuraltext` or top-k sampling to balance creativity and coherence -- Temperature = 0: Most deterministic, but potentially repetitive -- Temperature = 1: Balanced creativity and coherence -- Temperature > 1: Increased randomness, potentially incoherent +In this simple experiment, we use an LLM to write a single-statement executive summary from an input financial filing. We observe that even a simple parameter like temperature can dramatically alter model behavior in ways that are difficult to systematically assess. At temperature 0.0, responses are consistent but potentially too rigid. At 1.0, outputs become more varied but less predictable. At 2.0, responses can be wildly different and often incoherent. This non-deterministic behavior makes traditional software testing approaches inadequate. ```python @@ -84,6 +91,25 @@ def generate_responses( ``` +```python +MAX_LENGTH = 10000 # We limit the input length to avoid token issues +with open('../data/apple.txt', 'r') as file: + sec_filing = file.read() +``` + + +```python +sec_filing +``` + + + + + 'UNITED STATES\nSECURITIES AND EXCHANGE COMMISSION\nWashington, D.C. 20549\n \nFORM 10-K\n \n(Mark One)\n☒ ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934\nFor the fiscal year ended September 28, 2024\nor\n☐ TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934\nFor the transition period from to .\nCommission File Number: 001-36743\n \ng66145g66i43.jpg\nApple Inc.\n(Exact name of Registrant as specified in its charter)\n \nCalifornia\t\t94-2404110\n(State or other jurisdiction\nof incorporation or organization)\n(I.R.S. Employer Identification No.)\nOne Apple Park Way\t\t\nCupertino, California\n95014\n(Address of principal executive offices)\t\t(Zip Code)\n \n(408) 996-1010\n(Registrant’s telephone number, including area code)\n \nSecurities registered pursuant to Section 12(b) of the Act:\nTitle of each class\tTrading symbol(s)\tName of each exchange on which registered\nCommon Stock, $0.00001 par value per share\nAAPL\tThe Nasdaq Stock Market LLC\n0.000% Notes due 2025\t—\tThe Nasdaq Stock Market LLC\n0.875% Notes due 2025\t—\tThe Nasdaq Stock Market LLC\n1.625% Notes due 2026\t—\tThe Nasdaq Stock Market LLC\n2.000% Notes due 2027\t—\tThe Nasdaq Stock Market LLC\n1.375% Notes due 2029\t—\tThe Nasdaq Stock Market LLC\n3.050% Notes due 2029\t—\tThe Nasdaq Stock Market LLC\n0.500% Notes due 2031\t—\tThe Nasdaq Stock Market LLC\n3.600% Notes due 2042\t—\tThe Nasdaq Stock Market LLC\n \nSecurities registered pursuant to Section 12(g) of the Act: None\n \nIndicate by check mark if the Registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.\nYes ☒ No ☐\nIndicate by check mark if the Registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.\nYes ☐ No ☒\n\nIndicate by check mark whether the Registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.\nYes ☒ No ☐\nIndicate by check mark whether the Registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit such files).\nYes ☒ No ☐\nIndicate by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.\nLarge accelerated filer\t\t☒\t\tAccelerated filer\t\t☐\nNon-accelerated filer\t\t☐\t\tSmaller reporting company\t\t☐\nEmerging growth company\t\t☐\n \nIf an emerging growth company, indicate by check mark if the Registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐\nIndicate by check mark whether the Registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. ☒\nIf securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. ☐\nIndicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b). ☐\nIndicate by check mark whether the Registrant is a shell company (as defined in Rule 12b-2 of the Act).\nYes ☐ No ☒\nThe aggregate market value of the voting and non-voting stock held by non-affiliates of the Registrant, as of March 29, 2024, the last business day of the Registrant’s most recently completed second fiscal quarter, was approximately $2,628,553,000,000. Solely for purposes of this disclosure, shares of common stock held by executive officers and directors of the Registrant as of such date have been excluded because such persons may be deemed to be affiliates. This determination of executive officers and directors as affiliates is not necessarily a conclusive determination for any other purposes.\n15,115,823,000 shares of common stock were issued and outstanding as of October 18, 2024.\nDOCUMENTS INCORPORATED BY REFERENCE\nPortions of the Registrant’s definitive proxy statement relating to its 2025 annual meeting of shareholders are incorporated by reference into Part III of this Annual Report on Form 10-K where indicated. The Registrant’s definitive proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.\n \n\n\nApple Inc.\n\nForm 10-K\nFor the Fiscal Year Ended September 28, 2024\nTABLE OF CONTENTS\n\nPage\nPart I\nItem 1.\nBusiness\n1\nItem 1A.\nRisk Factors\n5\nItem 1B.\nUnresolved Staff Comments\n17\nItem 1C.\nCybersecurity\n17\nItem 2.\nProperties\n18\nItem 3.\nLegal Proceedings\n18\nItem 4.\nMine Safety Disclosures\n18\nPart II\nItem 5.\nMarket for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities\n19\nItem 6.\n[Reserved]\n20\nItem 7.\nManagement’s Discussion and Analysis of Financial Condition and Results of Operations\n21\nItem 7A.\nQuantitative and Qualitative Disclosures About Market Risk\n27\nItem 8.\nFinancial Statements and Supplementary Data\n28\nItem 9.\nChanges in and Disagreements with Accountants on Accounting and Financial Disclosure\n51\nItem 9A.\nControls and Procedures\n51\nItem 9B.\nOther Information\n52\nItem 9C.\nDisclosure Regarding Foreign Jurisdictions that Prevent Inspections\n52\nPart III\nItem 10.\nDirectors, Executive Officers and Corporate Governance\n52\nItem 11.\nExecutive Compensation\n52\nItem 12.\nSecurity Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters\n52\nItem 13.\nCertain Relationships and Related Transactions, and Director Independence\n52\nItem 14.\nPrincipal Accountant Fees and Services\n52\nPart IV\nItem 15.\nExhibit and Financial Statement Schedules\n53\nItem 16.\nForm 10-K Summary\n56\n \n\n\nThis Annual Report on Form 10-K (“Form 10-K”) contains forward-looking statements, within the meaning of the Private Securities Litigation Reform Act of 1995, that involve risks and uncertainties. Many of the forward-looking statements are located in Part I, Item 1 of this Form 10-K under the heading “Business” and Part II, Item 7 of this Form 10-K under the heading “Management’s Discussion and Analysis of Financial Condition and Results of Operations.” Forward-looking statements provide current expectations of future events based on certain assumptions and include any statement that does not directly relate to any historical or current fact. For example, statements in this Form 10-K regarding the potential future impact of macroeconomic conditions on the Company’s business and results of operations are forward-looking statements. Forward-looking statements can also be identified by words such as “future,” “anticipates,” “believes,” “estimates,” “expects,” “intends,” “plans,” “predicts,” “will,” “would,” “could,” “can,” “may,” and similar terms. Forward-looking statements are not guarantees of future performance and the Company’s actual results may differ significantly from the results discussed in the forward-looking statements. Factors that might cause such differences include, but are not limited to, those discussed in Part I, Item 1A of this Form 10-K under the heading “Risk Factors.” The Company assumes no obligation to revise or update any forward-looking statements for any reason, except as required by law.\nUnless otherwise stated, all information presented herein is based on the Company’s fiscal calendar, and references to particular years, quarters, months or periods refer to the Company’s fiscal years ended in September and the associated quarters, months and periods of those fiscal years. Each of the terms the “Company” and “Apple” as used herein refers collectively to Apple Inc. and its wholly owned subsidiaries, unless otherwise stated.\nPART I\nItem 1. Business\nCompany Background\nThe Company designs, manufactures and markets smartphones, personal computers, tablets, wearables and accessories, and sells a variety of related services. The Company’s fiscal year is the 52- or 53-week period that ends on the last Saturday of September.\nProducts\niPhone\niPhone® is the Company’s line of smartphones based on its iOS operating system. The iPhone line includes iPhone 16 Pro, iPhone 16, iPhone 15, iPhone 14 and iPhone SE®.\nMac\nMac® is the Company’s line of personal computers based on its macOS® operating system. The Mac line includes laptops MacBook Air® and MacBook Pro®, as well as desktops iMac®, Mac mini®, Mac Studio® and Mac Pro®.\niPad\niPad® is the Company’s line of multipurpose tablets based on its iPadOS® operating system. The iPad line includes iPad Pro®, iPad Air®, iPad and iPad mini®.\nWearables, Home and Accessories\nWearables includes smartwatches, wireless headphones and spatial computers. The Company’s line of smartwatches, based on its watchOS® operating system, includes Apple Watch Ultra® 2, Apple Watch® Series 10 and Apple Watch SE®. The Company’s line of wireless headphones includes AirPods®, AirPods Pro®, AirPods Max® and Beats® products. Apple Vision Pro™ is the Company’s first spatial computer based on its visionOS™ operating system.\nHome includes Apple TV®, the Company’s media streaming and gaming device based on its tvOS® operating system, and HomePod® and HomePod mini®, high-fidelity wireless smart speakers.\nAccessories includes Apple-branded and third-party accessories.\nApple Inc. | 2024 Form 10-K | 1\n\nServices\nAdvertising\nThe Company’s advertising services include third-party licensing arrangements and the Company’s own advertising platforms.\nAppleCare\nThe Company offers a portfolio of fee-based service and support products under the AppleCare® brand. The offerings provide priority access to Apple technical support, access to the global Apple authorized service network for repair and replacement services, and in many cases additional coverage for instances of accidental damage or theft and loss, depending on the country and type of product.\nCloud Services\nThe Company’s cloud services store and keep customers’ content up-to-date and available across multiple Apple devices and Windows personal computers.\nDigital Content\nThe Company operates various platforms, including the App Store®, that allow customers to discover and download applications and digital content, such as books, music, video, games and podcasts.\nThe Company also offers digital content through subscription-based services, including Apple Arcade®, a game subscription service; Apple Fitness+SM, a personalized fitness service; Apple Music®, which offers users a curated listening experience with on-demand radio stations; Apple News+®, a subscription news and magazine service; and Apple TV+®, which offers exclusive original content and live sports.\nPayment Services\nThe Company offers payment services, including Apple Card®, a co-branded credit card, and Apple Pay®, a cashless payment service.\nSegments\nThe Company manages its business primarily on a geographic basis. The Company’s reportable segments consist of the Americas, Europe, Greater China, Japan and Rest of Asia Pacific. Americas includes both North and South America. Europe includes European countries, as well as India, the Middle East and Africa. Greater China includes China mainland, Hong Kong and Taiwan. Rest of Asia Pacific includes Australia and those Asian countries not included in the Company’s other reportable segments. Although the reportable segments provide similar hardware and software products and similar services, each one is managed separately to better align with the location of the Company’s customers and distribution partners and the unique market dynamics of each geographic region.\nMarkets and Distribution\nThe Company’s customers are primarily in the consumer, small and mid-sized business, education, enterprise and government markets. The Company sells its products and resells third-party products in most of its major markets directly to customers through its retail and online stores and its direct sales force. The Company also employs a variety of indirect distribution channels, such as third-party cellular network carriers, wholesalers, retailers and resellers. During 2024, the Company’s net sales through its direct and indirect distribution channels accounted for 38% and 62%, respectively, of total net sales.\nCompetition\nThe markets for the Company’s products and services are highly competitive, and are characterized by aggressive price competition and resulting downward pressure on gross margins, frequent introduction of new products and services, short product life cycles, evolving industry standards, continual improvement in product price and performance characteristics, rapid adoption of technological advancements by competitors, and price sensitivity on the part of consumers and businesses. Many of the Company’s competitors seek to compete primarily through aggressive pricing and very low cost structures, and by imitating the Company’s products and infringing on its intellectual property.\nApple Inc. | 2024 Form 10-K | 2\n\nThe Company’s ability to compete successfully depends heavily on ensuring the continuing and timely introduction of innovative new products, services and technologies to the marketplace. The Company designs and develops nearly the entire solution for its products, including the hardware, operating system, numerous software applications and related services. Principal competitive factors important to the Company include price, product and service features (including security features), relative price and performance, product and service quality and reliability, design innovation, a strong third-party software and accessories ecosystem, marketing and distribution capability, service and support, and corporate reputation.\nThe Company is focused on expanding its market opportunities related to smartphones, personal computers, tablets, wearables and accessories, and services. The Company faces substantial competition in these markets from companies that have significant technical, marketing, distribution and other resources, as well as established hardware, software, and service offerings with large customer bases. In addition, some of the Company’s competitors have broader product lines, lower-priced products and a larger installed base of active devices. Competition has been particularly intense as competitors have aggressively cut prices and lowered product margins. Certain competitors have the resources, experience or cost structures to provide products at little or no profit or even at a loss. The Company’s services compete with business models that provide content to users for free and use illegitimate means to obtain third-party digital content and applications. The Company faces significant competition as competitors imitate the Company’s product features and applications within their products, or collaborate to offer integrated solutions that are more competitive than those they currently offer.\nSupply of Components\nAlthough most components essential to the Company’s business are generally available from multiple sources, certain components are currently obtained from single or limited sources. The Company also competes for various components with other participants in the markets for smartphones, personal computers, tablets, wearables and accessories. Therefore, many components used by the Company, including those that are available from multiple sources, are at times subject to industry-wide shortage and significant commodity pricing fluctuations.\nThe Company uses some custom components that are not commonly used by its competitors, and new products introduced by the Company often utilize custom components available from only one source. When a component or product uses new technologies, initial capacity constraints may exist until the suppliers’ yields have matured or their manufacturing capacities have increased. The continued availability of these components at acceptable prices, or at all, may be affected if suppliers decide to concentrate on the production of common components instead of components customized to meet the Company’s requirements.\nThe Company has entered into agreements for the supply of many components; however, there can be no guarantee that the Company will be able to extend or renew these agreements on similar terms, or at all.\nResearch and Development\nBecause the industries in which the Company competes are characterized by rapid technological advances, the Company’s ability to compete successfully depends heavily upon its ability to ensure a continual and timely flow of competitive products, services and technologies to the marketplace. The Company continues to develop new technologies to enhance existing products and services, and to expand the range of its offerings through research and development (“R&D”), licensing of intellectual property and acquisition of third-party businesses and technology.\nIntellectual Property\nThe Company currently holds a broad collection of intellectual property rights relating to certain aspects of its hardware, accessories, software and services. This includes patents, designs, copyrights, trademarks, trade secrets and other forms of intellectual property rights in the U.S. and various foreign countries. Although the Company believes the ownership of such intellectual property rights is an important factor in differentiating its business and that its success does depend in part on such ownership, the Company relies primarily on the innovative skills, technical competence and marketing abilities of its personnel.\nThe Company regularly files patent, design, copyright and trademark applications to protect innovations arising from its research, development, design and marketing, and is currently pursuing thousands of applications around the world. Over time, the Company has accumulated a large portfolio of issued and registered intellectual property rights around the world. No single intellectual property right is solely responsible for protecting the Company’s products and services. The Company believes the duration of its intellectual property rights is adequate relative to the expected lives of its products and services.\nIn addition to Company-owned intellectual property, many of the Company’s products and services are designed to include intellectual property owned by third parties. It may be necessary in the future to seek or renew licenses relating to various aspects of the Company’s products, processes and services. While the Company has generally been able to obtain such licenses on commercially reasonable terms in the past, there is no guarantee that such licenses could be obtained in the future on reasonable terms or at all.\nApple Inc. | 2024 Form 10-K | 3\n\nBusiness Seasonality and Product Introductions\nThe Company has historically experienced higher net sales in its first quarter compared to other quarters in its fiscal year due in part to seasonal holiday demand. Additionally, new product and service introductions can significantly impact net sales, cost of sales and operating expenses. The timing of product introductions can also impact the Company’s net sales to its indirect distribution channels as these channels are filled with new inventory following a product launch, and channel inventory of an older product often declines as the launch of a newer product approaches. Net sales can also be affected when consumers and distributors anticipate a product introduction.\nHuman Capital\nThe Company believes that its people play an important role in its success, and strives to attract, develop and retain the best talent. The Company works to create an inclusive, safe and supportive environment for all of its team members, so that its people can do the best work of their lives. As of September 28, 2024, the Company had approximately 164,000 full-time equivalent employees.\nCompensation and Benefits\nThe Company believes that compensation should be competitive and equitable, and should enable employees to share in the Company’s success. The Company recognizes its people are most likely to thrive when they have the resources to meet their needs and the time and support to succeed in their professional and personal lives. In support of this, the Company offers a wide variety of benefits for employees around the world, including health, wellness and time away.\nGrowth and Development\nThe Company invests in resources to help its people develop and achieve their career goals. The Company offers programs through Apple University on leadership, management and influence, as well as Apple culture and values. Team members can also take advantage of online classes for business, technical and personal development, as well as learning opportunities to support their well-being.\nWorkplace Practices and Policies\nThe Company is an equal opportunity employer committed to inclusion and diversity and to providing a workplace free of harassment or discrimination.\nInclusion and Diversity\nThe Company is committed to its vision to build and sustain a more inclusive workforce that is representative of the communities it serves. The Company continues to work to increase diverse representation at every level, foster an inclusive culture, and support equitable pay and access to opportunity for all employees.\nEngagement\nThe Company believes that open and honest communication among team members, managers and leaders helps create an open, collaborative work environment where everyone can contribute, grow and succeed. Team members are encouraged to come to their managers with questions, feedback or concerns, and the Company conducts surveys that gauge employee sentiment in areas like career development, manager performance and inclusivity.\nHealth and Safety\nThe Company is committed to protecting its team members everywhere it operates. The Company identifies potential workplace risks in order to develop measures to mitigate possible hazards. The Company supports employees with general safety, security and crisis management training, and by putting specific programs in place for those working in potentially high-hazard environments. Additionally, the Company works to protect the safety and security of its team members, visitors and customers through its global security team.\nApple Inc. | 2024 Form 10-K | 4\n\nAvailable Information\nThe Company’s Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and amendments to reports filed pursuant to Sections 13(a) and 15(d) of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), are filed with the U.S. Securities and Exchange Commission (the “SEC”). Such reports and other information filed by the Company with the SEC are available free of charge at investor.apple.com/investor-relations/sec-filings/default.aspx when such reports are available on the SEC’s website. The Company periodically provides certain information for investors on its corporate website, www.apple.com, and its investor relations website, investor.apple.com. This includes press releases and other information about financial performance, information on environmental, social and governance matters, and details related to the Company’s annual meeting of shareholders. The information contained on the websites referenced in this Form 10-K is not incorporated by reference into this filing. Further, the Company’s references to website URLs are intended to be inactive textual references only.\nItem 1A. Risk Factors\nThe Company’s business, reputation, results of operations, financial condition and stock price can be affected by a number of factors, whether currently known or unknown, including those described below. When any one or more of these risks materialize from time to time, the Company’s business, reputation, results of operations, financial condition and stock price can be materially and adversely affected.\nBecause of the following factors, as well as other factors affecting the Company’s results of operations and financial condition, past financial performance should not be considered to be a reliable indicator of future performance, and investors should not use historical trends to anticipate results or trends in future periods. This discussion of risk factors contains forward-looking statements.\nThis section should be read in conjunction with Part II, Item 7, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and the consolidated financial statements and accompanying notes in Part II, Item 8, “Financial Statements and Supplementary Data” of this Form 10-K.\nMacroeconomic and Industry Risks\nThe Company’s operations and performance depend significantly on global and regional economic conditions and adverse economic conditions can materially adversely affect the Company’s business, results of operations and financial condition.\nThe Company has international operations with sales outside the U.S. representing a majority of the Company’s total net sales. In addition, the Company’s global supply chain is large and complex and a majority of the Company’s supplier facilities, including manufacturing and assembly sites, are located outside the U.S. As a result, the Company’s operations and performance depend significantly on global and regional economic conditions.\nAdverse macroeconomic conditions, including slow growth or recession, high unemployment, inflation, tighter credit, higher interest rates, and currency fluctuations, can adversely impact consumer confidence and spending and materially adversely affect demand for the Company’s products and services. In addition, consumer confidence and spending can be materially adversely affected in response to changes in fiscal and monetary policy, financial market volatility, declines in income or asset values, and other economic factors.\nIn addition to an adverse impact on demand for the Company’s products and services, uncertainty about, or a decline in, global or regional economic conditions can have a significant impact on the Company’s suppliers, contract manufacturers, logistics providers, distributors, cellular network carriers and other channel partners, and developers. Potential outcomes include financial instability; inability to obtain credit to finance business operations; and insolvency.\nAdverse economic conditions can also lead to increased credit and collectibility risk on the Company’s trade receivables; the failure of derivative counterparties and other financial institutions; limitations on the Company’s ability to issue new debt; reduced liquidity; and declines in the fair values of the Company’s financial instruments. These and other impacts can materially adversely affect the Company’s business, results of operations, financial condition and stock price.\nApple Inc. | 2024 Form 10-K | 5\n\nThe Company’s business can be impacted by political events, trade and other international disputes, geopolitical tensions, conflict, terrorism, natural disasters, public health issues, industrial accidents and other business interruptions.\nPolitical events, trade and other international disputes, geopolitical tensions, conflict, terrorism, natural disasters, public health issues, industrial accidents and other business interruptions can have a material adverse effect on the Company and its customers, employees, suppliers, contract manufacturers, logistics providers, distributors, cellular network carriers and other channel partners.\nThe Company has a large, global business with sales outside the U.S. representing a majority of the Company’s total net sales, and the Company believes that it generally benefits from growth in international trade. Substantially all of the Company’s manufacturing is performed in whole or in part by outsourcing partners located primarily in China mainland, India, Japan, South Korea, Taiwan and Vietnam. Restrictions on international trade, such as tariffs and other controls on imports or exports of goods, technology or data, can materially adversely affect the Company’s business and supply chain. The impact can be particularly significant if these restrictive measures apply to countries and regions where the Company derives a significant portion of its revenues and/or has significant supply chain operations. Restrictive measures can increase the cost of the Company’s products and the components and raw materials that go into them, and can require the Company to take various actions, including changing suppliers, restructuring business relationships and operations, and ceasing to offer and distribute affected products, services and third-party applications to its customers. Changing the Company’s business and supply chain in accordance with new or changed restrictions on international trade can be expensive, time-consuming and disruptive to the Company’s operations. Such restrictions can be announced with little or no advance notice, which can create uncertainty, and the Company may not be able to effectively mitigate all adverse impacts from such measures. For example, tensions between governments, including the U.S. and China, have in the past led to tariffs and other restrictions affecting the Company’s business. If disputes and conflicts further escalate in the future, actions by governments in response could be significantly more severe and restrictive and could materially adversely affect the Company’s business.\nMany of the Company’s operations and facilities, as well as critical business operations of the Company’s suppliers and contract manufacturers, are in locations that are prone to earthquakes and other natural disasters. Global climate change is resulting in certain types of natural disasters and extreme weather occurring more frequently or with more intense effects. In addition, the Company’s and its suppliers’ operations and facilities are subject to the risk of interruption by fire, power shortages, nuclear power plant accidents and other industrial accidents, terrorist attacks and other hostile acts, ransomware and other cybersecurity attacks, labor disputes, public health issues and other events beyond the Company’s control. For example, global supply chains can be highly concentrated and geopolitical tensions or conflict could result in significant disruptions.\nSuch events can make it difficult or impossible for the Company to manufacture and deliver products to its customers, create delays and inefficiencies in the Company’s supply and manufacturing chain, result in slowdowns and outages to the Company’s service offerings, increase the Company’s costs, and negatively impact consumer spending and demand in affected areas.\nThe Company’s operations are also subject to the risks of industrial accidents at its suppliers and contract manufacturers. While the Company’s suppliers are required to maintain safe working environments and operations, an industrial accident could occur and could result in serious injuries or loss of life, disruption to the Company’s business, and harm to the Company’s reputation. Major public health issues, including pandemics such as the COVID-19 pandemic, have adversely affected, and could in the future materially adversely affect, the Company due to their impact on the global economy and demand for consumer products; the imposition of protective public safety measures, such as stringent employee travel restrictions and limitations on freight services and the movement of products between regions; and disruptions in the Company’s operations, supply chain and sales and distribution channels, resulting in interruptions to the supply of current products and offering of existing services, and delays in production ramps of new products and development of new services.\nFollowing any interruption to its business, the Company can require substantial recovery time, experience significant expenditures to resume operations, and lose significant sales. Because the Company relies on single or limited sources for the supply and manufacture of many critical components, a business interruption affecting such sources would exacerbate any negative consequences to the Company. While the Company maintains insurance coverage for certain types of losses, such insurance coverage may be insufficient to cover all losses that may arise.\nApple Inc. | 2024 Form 10-K | 6\n\nGlobal markets for the Company’s products and services are highly competitive and subject to rapid technological change, and the Company may be unable to compete effectively in these markets.\nThe Company’s products and services are offered in highly competitive global markets characterized by aggressive price competition and resulting downward pressure on gross margins, frequent introduction of new products and services, short product life cycles, evolving industry standards, continual improvement in product price and performance characteristics, rapid adoption of technological advancements by competitors, and price sensitivity on the part of consumers and businesses.\nThe Company’s ability to compete successfully depends heavily on ensuring the continuing and timely introduction of innovative new products, services and technologies to the marketplace. The Company designs and develops nearly the entire solution for its products, including the hardware, operating system, numerous software applications and related services. As a result, the Company must make significant investments in R&D. There can be no assurance these investments will achieve expected returns, and the Company may not be able to develop and market new products and services successfully.\nThe Company currently holds a significant number of patents, trademarks and copyrights and has registered, and applied to register, additional patents, trademarks and copyrights. In contrast, many of the Company’s competitors seek to compete primarily through aggressive pricing and very low cost structures, and by imitating the Company’s products and infringing on its intellectual property. Effective intellectual property protection is not consistently available in every country in which the Company operates. If the Company is unable to continue to develop and sell innovative new products with attractive margins or if competitors infringe on the Company’s intellectual property, the Company’s ability to maintain a competitive advantage could be materially adversely affected.\nThe Company has a minority market share in the global smartphone, personal computer and tablet markets. The Company faces substantial competition in these markets from companies that have significant technical, marketing, distribution and other resources, as well as established hardware, software and digital content supplier relationships. In addition, some of the Company’s competitors have broader product lines, lower-priced products and a larger installed base of active devices. Competition has been particularly intense as competitors have aggressively cut prices and lowered product margins. Certain competitors have the resources, experience or cost structures to provide products at little or no profit or even at a loss. Some of the markets in which the Company competes have from time to time experienced little to no growth or contracted overall.\nAdditionally, the Company faces significant competition as competitors imitate the Company’s product features and applications within their products or collaborate to offer solutions that are more competitive than those they currently offer. The Company also expects competition to intensify as competitors imitate the Company’s approach to providing components seamlessly within their offerings or work collaboratively to offer integrated solutions.\nThe Company’s services also face substantial competition, including from companies that have significant resources and experience and have established service offerings with large customer bases. The Company competes with business models that provide content to users for free. The Company also competes with illegitimate means to obtain third-party digital content and applications.\nThe Company’s business, results of operations and financial condition depend substantially on the Company’s ability to continually improve its products and services to maintain their functional and design advantages. There can be no assurance the Company will be able to continue to provide products and services that compete effectively.\nBusiness Risks\nTo remain competitive and stimulate customer demand, the Company must successfully manage frequent introductions and transitions of products and services.\nDue to the highly volatile and competitive nature of the markets and industries in which the Company competes, the Company must continually introduce new products, services and technologies, enhance existing products and services, effectively stimulate customer demand for new and upgraded products and services, and successfully manage the transition to these new and upgraded products and services. The success of new product and service introductions depends on a number of factors, including timely and successful development, market acceptance, the Company’s ability to manage the risks associated with new technologies and production ramp-up issues, the availability of application software or other third-party support for the Company’s products and services, the effective management of purchase commitments and inventory levels in line with anticipated product demand, the availability of products in appropriate quantities and at expected costs to meet anticipated demand, and the risk that new products and services may have quality or other defects or deficiencies. New products, services and technologies may replace or supersede existing offerings and may produce lower revenues and lower profit margins, which can materially adversely impact the Company’s business, results of operations and financial condition. There can be no assurance the Company will successfully manage future introductions and transitions of products and services.\nApple Inc. | 2024 Form 10-K | 7\n\nThe Company depends on component and product manufacturing and logistical services provided by outsourcing partners, many of which are located outside of the U.S.\nSubstantially all of the Company’s manufacturing is performed in whole or in part by outsourcing partners located primarily in China mainland, India, Japan, South Korea, Taiwan and Vietnam, and a significant concentration of this manufacturing is currently performed by a small number of outsourcing partners, often in single locations. The Company has also outsourced much of its transportation and logistics management. While these arrangements can lower operating costs, they also reduce the Company’s direct control over production and distribution. Such diminished control has from time to time and may in the future have an adverse effect on the quality or quantity of products manufactured or services provided, or adversely affect the Company’s flexibility to respond to changing conditions. Although arrangements with these partners may contain provisions for product defect expense reimbursement, the Company generally remains responsible to the consumer for warranty and out-of-warranty service in the event of product defects and experiences unanticipated product defect liabilities from time to time. While the Company relies on its partners to adhere to its supplier code of conduct, violations of the supplier code of conduct occur from time to time and can materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nThe Company relies on single-source outsourcing partners in the U.S., Asia and Europe to supply and manufacture many components, and on outsourcing partners primarily located in Asia, for final assembly of substantially all of the Company’s hardware products. Any failure of these partners to perform can have a negative impact on the Company’s cost or supply of components or finished goods. In addition, manufacturing or logistics in these locations or transit to final destinations can be disrupted for a variety of reasons, including natural and man-made disasters, information technology system failures, commercial disputes, economic, business, labor, environmental, public health or political issues, trade and other international disputes, geopolitical tensions, or conflict.\nThe Company has invested in manufacturing process equipment, much of which is held at certain of its outsourcing partners, and has made prepayments to certain of its suppliers associated with long-term supply agreements. While these arrangements help ensure the supply of components and finished goods, if these outsourcing partners or suppliers experience severe financial problems or other disruptions in their business, such continued supply can be disrupted or terminated, and the recoverability of manufacturing process equipment or prepayments can be negatively impacted.\nChanges or additions to the Company’s supply chain require considerable time and resources and involve significant risks and uncertainties, including exposure to additional regulatory and operational risks.\nFuture operating results depend upon the Company’s ability to obtain components in sufficient quantities on commercially reasonable terms.\nBecause the Company currently obtains certain components from single or limited sources, the Company is subject to significant supply and pricing risks. Many components, including those that are available from multiple sources, are at times subject to industry-wide shortages and significant commodity pricing fluctuations that can materially adversely affect the Company’s business, results of operations and financial condition. For example, the global semiconductor industry has in the past experienced high demand and shortages of supply, which adversely affected the Company’s ability to obtain sufficient quantities of components and products on commercially reasonable terms, or at all. Such disruptions could occur in the future. While the Company has entered into agreements for the supply of many components, there can be no assurance the Company will be able to extend or renew these agreements on similar terms, or at all. In addition, component suppliers may suffer from poor financial conditions, which can lead to business failure for the supplier or consolidation within a particular industry, further limiting the Company’s ability to obtain sufficient quantities of components on commercially reasonable terms, or at all. Therefore, the Company remains subject to significant risks of supply shortages and price increases that can materially adversely affect its business, results of operations and financial condition.\nThe Company’s new products often utilize custom components available from only one source. When a component or product uses new technologies, initial capacity constraints may exist until the suppliers’ yields have matured or their manufacturing capacities have increased. The continued availability of these components at acceptable prices, or at all, can be affected for any number of reasons, including if suppliers decide to concentrate on the production of common components instead of components customized to meet the Company’s requirements. When the Company’s supply of components for a new or existing product has been delayed or constrained, or when an outsourcing partner has delayed shipments of completed products to the Company, the Company’s business, results of operations and financial condition have been adversely affected and future delays or constraints could materially adversely affect the Company’s business, results of operations and financial condition. The Company’s business and financial performance could also be materially adversely affected depending on the time required to obtain sufficient quantities from the source, or to identify and obtain sufficient quantities from an alternative source.\nApple Inc. | 2024 Form 10-K | 8\n\nThe Company’s products and services may be affected from time to time by design and manufacturing defects that could materially adversely affect the Company’s business and result in harm to the Company’s reputation.\nThe Company offers complex hardware and software products and services that can be affected by design and manufacturing defects. Sophisticated operating system software and applications, such as those offered by the Company, often have issues that can unexpectedly interfere with the intended operation of hardware or software products and services. Defects can also exist in components and products the Company purchases from third parties. Component defects could make the Company’s products unsafe and create a risk of environmental or property damage and personal injury. These risks may increase as the Company’s products are introduced into specialized applications, including health. In addition, the Company’s service offerings can have quality issues and from time to time experience outages, service slowdowns or errors. As a result, from time to time the Company’s services have not performed as anticipated and may not meet customer expectations. The introduction of new and complex technologies, such as artificial intelligence features, can increase these and other safety risks, including exposing users to harmful, inaccurate or other negative content and experiences. There can be no assurance the Company will be able to detect and fix all issues and defects in the hardware, software and services it offers. Failure to do so can result in widespread technical and performance issues affecting the Company’s products and services. Errors, bugs and vulnerabilities can be exploited by third parties, compromising the safety and security of a user’s device. In addition, the Company can be exposed to product liability claims, recalls, product replacements or modifications, write-offs of inventory, property, plant and equipment or intangible assets, and significant warranty and other expenses, including litigation costs and regulatory fines. Quality problems can adversely affect the experience for users of the Company’s products and services, and result in harm to the Company’s reputation, loss of competitive advantage, poor market acceptance, reduced demand for products and services, delay in new product and service introductions and lost sales.\nThe Company is exposed to the risk of write-downs on the value of its inventory and other assets, in addition to purchase commitment cancellation risk.\nThe Company records a write-down for product and component inventories that have become obsolete or exceed anticipated demand, or for which cost exceeds net realizable value. The Company also accrues necessary cancellation fee reserves for orders of excess products and components. The Company reviews long-lived assets, including capital assets held at its suppliers’ facilities and inventory prepayments, for impairment whenever events or circumstances indicate the assets may not be recoverable. If the Company determines that an impairment has occurred, it records a write-down equal to the amount by which the carrying value of the asset exceeds its fair value. Although the Company believes its inventory, capital assets, inventory prepayments and other assets and purchase commitments are currently recoverable, there can be no assurance the Company will not incur write-downs, fees, impairments and other charges given the rapid and unpredictable pace of product obsolescence in the industries in which the Company competes.\nThe Company orders components for its products and builds inventory in advance of product announcements and shipments. Manufacturing purchase obligations cover the Company’s forecasted component and manufacturing requirements, typically for periods up to 150 days. Because the Company’s markets are volatile, competitive and subject to rapid technology and price changes, there is a risk the Company will forecast incorrectly and order or produce excess or insufficient amounts of components or products, or not fully utilize firm purchase commitments.\nThe Company relies on access to third-party intellectual property, which may not be available to the Company on commercially reasonable terms, or at all.\nThe Company’s products and services are designed to include intellectual property owned by third parties, which requires licenses from those third parties. In addition, because of technological changes in the industries in which the Company currently competes or in the future may compete, current extensive patent coverage and the rapid rate of issuance of new patents, the Company’s products and services can unknowingly infringe existing patents or intellectual property rights of others. From time to time, the Company has been notified that it may be infringing certain patents or other intellectual property rights of third parties. Based on experience and industry practice, the Company believes licenses to such third-party intellectual property can generally be obtained on commercially reasonable terms. However, there can be no assurance the necessary licenses can be obtained on commercially reasonable terms or at all. Failure to obtain the right to use third-party intellectual property, or to use such intellectual property on commercially reasonable terms, can require the Company to modify certain products, services or features or preclude the Company from selling certain products or services, or otherwise have a material adverse impact on the Company’s business, results of operations and financial condition.\nApple Inc. | 2024 Form 10-K | 9\n\nThe Company’s future performance depends in part on support from third-party software developers.\nThe Company believes decisions by customers to purchase its hardware products depend in part on the availability of third-party software applications and services. There can be no assurance third-party developers will continue to develop and maintain software applications and services for the Company’s products. If third-party software applications and services cease to be developed and maintained for the Company’s products, customers may choose not to buy the Company’s products.\nThe Company believes the availability of third-party software applications and services for its products depends in part on the developers’ perception and analysis of the relative benefits of developing, maintaining and upgrading such software and services for the Company’s products compared to competitors’ platforms, such as Android for smartphones and tablets, Windows for personal computers and tablets, and PlayStation, Nintendo and Xbox for gaming platforms. This analysis may be based on factors such as the market position of the Company and its products, the anticipated revenue that may be generated, expected future growth of product sales, and the costs of developing such applications and services.\nThe Company’s minority market share in the global smartphone, personal computer and tablet markets can make developers less inclined to develop or upgrade software for the Company’s products and more inclined to devote their resources to developing and upgrading software for competitors’ products with larger market share. When developers focus their efforts on these competing platforms, the availability and quality of applications for the Company’s devices can suffer.\nThe Company relies on the continued availability and development of compelling and innovative software applications for its products. The Company’s products and operating systems are subject to rapid technological change, and when third-party developers are unable to or choose not to keep up with this pace of change, their applications can fail to take advantage of these changes to deliver improved customer experiences, can operate incorrectly, and can result in dissatisfied customers and lower customer demand for the Company’s products.\nThe Company distributes third-party applications for its products through the App Store. For the vast majority of applications, developers keep all of the revenue they generate on the App Store. Where applicable, the Company retains a commission from sales of applications and sales of digital services or goods initiated within an application. From time to time, the Company has made changes to its products and services, including taking actions in response to litigation, competition, market conditions and legal and regulatory requirements, and expects to make further business changes in the future. For example, in the U.S., the Company has implemented changes to how developers communicate with consumers within apps on the U.S. storefront of the iOS and iPadOS App Store regarding alternative purchasing mechanisms. The Company has also implemented changes to iOS, iPadOS, the App Store and Safari® in the European Union (“EU”) as it seeks to comply with the Digital Markets Act (the “DMA”), including new business terms and alternative fee structures for iOS and iPadOS apps, alternative methods of distribution for iOS and iPadOS apps, alternative payment processing for apps across the Company’s operating systems, and additional tools and application programming interfaces (“APIs”) for developers. Changes to the Company’s products and services could materially adversely affect the Company’s business, results of operations and financial condition, including if such business changes result in reduced App Store or other sales, reductions in the rate of the commission that the Company retains on such sales, or if the rate of the commission is otherwise narrowed in scope or eliminated.\nFailure to obtain or create digital content that appeals to the Company’s customers, or to make such content available on commercially reasonable terms, could have a material adverse impact on the Company’s business, results of operations and financial condition.\nThe Company contracts with numerous third parties to offer their digital content to customers. This includes the right to sell, or offer subscriptions to, third-party content, as well as the right to incorporate specific content into the Company’s own services. The licensing or other distribution arrangements for this content can be for relatively short time periods and do not guarantee the continuation or renewal of these arrangements on commercially reasonable terms, or at all. Some third-party content providers and distributors currently or in the future may offer competing products and services, and can take actions to make it difficult or impossible for the Company to license or otherwise distribute their content. Other content owners, providers or distributors may seek to limit the Company’s access to, or increase the cost of, such content. The Company may be unable to continue to offer a wide variety of content at commercially reasonable prices with acceptable usage rules.\nThe Company also produces its own digital content, which can be costly to produce due to intense and increasing competition for talent, content and subscribers, and may fail to appeal to the Company’s customers.\nSome third-party digital content providers require the Company to provide digital rights management and other security solutions. If requirements change, the Company may have to develop or license new technology to provide these solutions. There can be no assurance the Company will be able to develop or license such solutions at a reasonable cost and in a timely manner.\nApple Inc. | 2024 Form 10-K | 10\n\nThe Company’s success depends largely on the talents and efforts of its team members, the continued service and availability of highly skilled employees, including key personnel, and the Company’s ability to nurture its distinctive and inclusive culture.\nMuch of the Company’s future success depends on the talents and efforts of its team members and the continued availability and service of key personnel, including its Chief Executive Officer, executive team and other highly skilled employees. Experienced personnel in the technology industry are in high demand and competition for their talents is intense, especially in Silicon Valley, where most of the Company’s key personnel are located. In addition to intense competition for talent, workforce dynamics are constantly evolving. If the Company does not manage changing workforce dynamics effectively, it could materially adversely affect the Company’s culture, reputation and operational flexibility.\nThe Company believes that its distinctive and inclusive culture is a significant driver of its success. If the Company is unable to nurture its culture, it could materially adversely affect the Company’s ability to recruit and retain the highly skilled employees who are critical to its success, and could otherwise materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nThe Company depends on the performance of carriers, wholesalers, retailers and other resellers.\nThe Company distributes its products and certain of its services through cellular network carriers, wholesalers, retailers and resellers, many of which distribute products and services from competitors. The Company also sells its products and services and resells third-party products in most of its major markets directly to consumers, small and mid-sized businesses, and education, enterprise and government customers through its retail and online stores and its direct sales force.\nSome carriers providing cellular network service for the Company’s products offer financing, installment payment plans or subsidies for users’ purchases of the device. There can be no assurance such offers will be continued at all or in the same amounts.\nThe Company has invested and will continue to invest in programs to enhance reseller sales, including staffing selected resellers’ stores with Company employees and contractors, and improving product placement displays. These programs can require a substantial investment while not assuring return or incremental sales. The financial condition of these resellers could weaken, these resellers could stop distributing the Company’s products, or uncertainty regarding demand for some or all of the Company’s products could cause resellers to reduce their ordering and marketing of the Company’s products.\nThe Company’s business and reputation are impacted by information technology system failures and network disruptions.\nThe Company and its global supply chain are dependent on complex information technology systems and are exposed to information technology system failures or network disruptions caused by natural disasters, accidents, power disruptions, telecommunications failures, acts of terrorism or war, computer viruses, physical or electronic break-ins, ransomware or other cybersecurity incidents, or other events or disruptions. System upgrades, redundancy and other continuity measures may be ineffective or inadequate, and the Company’s or its vendors’ business continuity and disaster recovery planning may not be sufficient for all eventualities. Such failures or disruptions can adversely impact the Company’s business by, among other things, preventing access to the Company’s online services, interfering with customer transactions or impeding the manufacturing and shipping of the Company’s products. These events could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nLosses or unauthorized access to or releases of confidential information, including personal information, could subject the Company to significant reputational, financial, legal and operational consequences.\nThe Company’s business requires it to use and store confidential information, including personal information with respect to the Company’s customers and employees. The Company devotes significant resources to systems and data security, including through the use of encryption and other security measures intended to protect its systems and data. But these measures cannot provide absolute security, and losses or unauthorized access to or releases of confidential information occur and could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nThe Company’s business also requires it to share confidential information with suppliers and other third parties. The Company relies on global suppliers that are also exposed to ransomware and other malicious attacks that can disrupt business operations. Although the Company takes steps to secure confidential information that is provided to or accessible by third parties working on the Company’s behalf, such measures are not always effective and losses or unauthorized access to, or releases of, confidential information occur. Such incidents and other malicious attacks could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nApple Inc. | 2024 Form 10-K | 11\n\nThe Company experiences malicious attacks and other attempts to gain unauthorized access to its systems on a regular basis. These attacks seek to compromise the confidentiality, integrity or availability of confidential information or disrupt normal business operations, and can, among other things, impair the Company’s ability to attract and retain customers for its products and services, impact the Company’s stock price, materially damage commercial relationships, and expose the Company to litigation or government investigations, which can result in penalties, fines or judgments against the Company. Globally, attacks are expected to continue accelerating in both frequency and sophistication with increasing use by actors of tools and techniques that are designed to circumvent controls, avoid detection, and remove or obfuscate forensic evidence, all of which hinders the Company’s ability to identify, investigate and recover from incidents. In addition, attacks against the Company and its customers can escalate during periods of geopolitical tensions or conflict.\nAlthough malicious attacks perpetrated to gain access to confidential information, including personal information, affect many companies across various industries, the Company is at a relatively greater risk of being targeted because of its high profile and the value of the confidential information it creates, owns, manages, stores and processes.\nThe Company has implemented systems and processes intended to secure its information technology systems and prevent unauthorized access to or loss of sensitive data, and mitigate the impact of unauthorized access, including through the use of encryption and authentication technologies. As with all companies, these security measures may not be sufficient for all eventualities and are vulnerable to hacking, ransomware attacks, employee error, malfeasance, system error, faulty password management or other irregularities. For example, third parties can fraudulently induce the Company’s or its suppliers’ and other third parties’ employees or customers into disclosing usernames, passwords or other sensitive information, which can, in turn, be used for unauthorized access to the Company’s or such suppliers’ or third parties’ systems and services. To help protect customers and the Company, the Company deploys and makes available technologies like multifactor authentication, monitors its services and systems for unusual activity and may freeze accounts under suspicious circumstances, which, among other things, can result in the delay or loss of customer orders or impede customer access to the Company’s products and services.\nWhile the Company maintains insurance coverage that is intended to address certain aspects of data security risks, such insurance coverage may be insufficient to cover all losses or all types of claims that may arise.\nInvestment in new business strategies and acquisitions could disrupt the Company’s ongoing business, present risks not originally contemplated and materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nThe Company has invested, and in the future may invest, in new business strategies or acquisitions. Such endeavors may involve significant risks and uncertainties, including distraction of management from current operations, greater-than-expected liabilities and expenses, economic, political, legal and regulatory challenges associated with operating in new businesses, regions or countries, inadequate return on capital, potential impairment of tangible and intangible assets, and significant write-offs. Investment and acquisition transactions are exposed to additional risks, including failing to obtain required regulatory approvals on a timely basis or at all, or the imposition of onerous conditions that could delay or prevent the Company from completing a transaction or otherwise limit the Company’s ability to fully realize the anticipated benefits of a transaction. These new ventures are inherently risky and may not be successful. The failure of any significant investment could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nThe Company’s retail stores are subject to numerous risks and uncertainties.\nThe Company’s retail operations are subject to many factors that pose risks and uncertainties and could adversely impact the Company’s business, results of operations and financial condition, including macroeconomic factors that could have an adverse effect on general retail activity. Other factors include the Company’s ability to: manage costs associated with retail store construction and operation; manage relationships with existing retail partners; manage costs associated with fluctuations in the value of retail inventory; and obtain and renew leases in quality retail locations at a reasonable cost.\nApple Inc. | 2024 Form 10-K | 12\n\nLegal and Regulatory Compliance Risks\nThe Company’s business, results of operations and financial condition could be adversely impacted by unfavorable results of legal proceedings or government investigations.\nThe Company is subject to various claims, legal proceedings and government investigations that have arisen in the ordinary course of business and have not yet been fully resolved, and new matters may arise in the future. In addition, agreements entered into by the Company sometimes include indemnification provisions which can subject the Company to costs and damages in the event of a claim against an indemnified third party. The number of claims, legal proceedings and government investigations involving the Company, and the alleged magnitude of such claims, proceedings and government investigations, has generally increased over time and may continue to increase.\nThe Company has faced and continues to face a significant number of patent claims relating to its cellular-enabled products, and new claims may arise in the future, including as a result of new legal or regulatory frameworks. For example, technology and other patent-holding companies frequently assert their patents and seek royalties and often enter into litigation based on allegations of patent infringement or other violations of intellectual property rights. The Company is vigorously defending infringement actions in courts in several U.S. jurisdictions, as well as internationally in various countries. The plaintiffs in these actions frequently seek broad injunctive relief and substantial damages.\nRegardless of the merit of particular claims, defending against litigation or responding to government investigations can be expensive, time-consuming and disruptive to the Company’s operations. In recognition of these considerations, the Company may enter into agreements or other arrangements to settle litigation and resolve such challenges. There can be no assurance such agreements can be obtained on acceptable terms or that litigation will not occur. These agreements can also significantly increase the Company’s cost of sales and operating expenses and require the Company to change its business practices and limit the Company’s ability to offer certain products and services.\nThe outcome of litigation or government investigations is inherently uncertain. If one or more legal matters were resolved against the Company or an indemnified third party in a reporting period for amounts above management’s expectations, the Company’s results of operations and financial condition for that reporting period could be materially adversely affected. Further, such an outcome can result in significant monetary damages, disgorgement of revenue or profits, remedial corporate measures or injunctive relief against the Company, and has from time to time required, and can in the future require, the Company to change its business practices and limit the Company’s ability to develop, manufacture, use, import or offer for sale certain products and services, all of which could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nWhile the Company maintains insurance coverage for certain types of claims, such insurance coverage may be insufficient to cover all losses or all types of claims that may arise.\nThe Company is subject to complex and changing laws and regulations worldwide, which exposes the Company to potential liabilities, increased costs and other adverse effects on the Company’s business.\nThe Company’s global operations are subject to complex and changing laws and regulations on subjects, including antitrust; privacy, data security and data localization; consumer protection; advertising, sales, billing and e-commerce; financial services and technology; product liability; intellectual property ownership and infringement; digital platforms; machine learning and artificial intelligence; internet, telecommunications and mobile communications; media, television, film and digital content; availability of third-party software applications and services; labor and employment; anticorruption; import, export and trade; foreign exchange controls and cash repatriation restrictions; anti–money laundering; foreign ownership and investment; tax; and environmental, health and safety, including electronic waste, recycling, product design and climate change.\nCompliance with these laws and regulations is onerous and expensive. New and changing laws and regulations can adversely affect the Company’s business by increasing the Company’s costs, limiting the Company’s ability to offer a product, service or feature to customers, imposing changes to the design of the Company’s products and services, impacting customer demand for the Company’s products and services, and requiring changes to the Company’s business or supply chain. New and changing laws and regulations can also create uncertainty about how such laws and regulations will be interpreted and applied. These risks and costs may increase as the Company’s products and services are introduced into specialized applications, including health and financial services, or as the Company expands the use of technologies, such as machine learning and artificial intelligence features, and must navigate new legal, regulatory and ethical considerations relating to such technologies. The Company has implemented policies and procedures designed to ensure compliance with applicable laws and regulations, but there can be no assurance the Company’s employees, contractors or agents will not violate such laws and regulations or the Company’s policies and procedures. If the Company is found to have violated laws and regulations, it could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nApple Inc. | 2024 Form 10-K | 13\n\nRegulatory changes and other actions that materially adversely affect the Company’s business may be announced with little or no advance notice and the Company may not be able to effectively mitigate all adverse impacts from such measures. For example, the Company is subject to changing regulations relating to the export and import of its products. Although the Company has programs, policies and procedures in place that are designed to satisfy regulatory requirements, there can be no assurance that such policies and procedures will be effective in preventing a violation or a claim of a violation. As a result, the Company’s products could be banned, delayed or prohibited from importation, which could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nExpectations relating to environmental, social and governance considerations and related reporting obligations expose the Company to potential liabilities, increased costs, reputational harm, and other adverse effects on the Company’s business.\nMany governments, regulators, investors, employees, customers and other stakeholders are increasingly focused on environmental, social and governance considerations relating to businesses, including climate change and greenhouse gas emissions, human and civil rights, and diversity, equity and inclusion. In addition, the Company makes statements about its goals and initiatives through its various non-financial reports, information provided on its website, press statements and other communications. Responding to these environmental, social and governance considerations and implementation of the Company’s announced goals and initiatives involves risks and uncertainties, requires investments, and depends in part on third-party performance or data that is outside the Company’s control. The Company cannot guarantee that it will achieve its announced environmental, social and governance goals and initiatives. In addition, some stakeholders may disagree with the Company’s goals and initiatives. Any failure, or perceived failure, by the Company to achieve its goals, further its initiatives, adhere to its public statements, comply with federal, state and international environmental, social and governance laws and regulations, or meet evolving and varied stakeholder expectations and standards could result in legal and regulatory proceedings against the Company and materially adversely affect the Company’s business, reputation, results of operations, financial condition and stock price.\nThe technology industry, including, in some instances, the Company, is subject to intense media, political and regulatory scrutiny, which exposes the Company to increasing regulation, government investigations, legal actions and penalties.\nFrom time to time, the Company has made changes to its App Store, including actions taken in response to litigation, competition, market conditions and legal and regulatory requirements. The Company expects to make further business changes in the future. For example, in the U.S. the Company has implemented changes to how developers communicate with consumers within apps on the U.S. storefront of the iOS and iPadOS App Store regarding alternative purchasing mechanisms.\nThe Company has also implemented changes to iOS, iPadOS, the App Store and Safari in the EU as it seeks to comply with the DMA, including new business terms and alternative fee structures for iOS and iPadOS apps, alternative methods of distribution for iOS and iPadOS apps, alternative payment processing for apps across the Company’s operating systems, and additional tools and APIs for developers. The Company has also continued to make changes to its compliance plan in response to feedback and engagement with the European Commission (the “Commission”). Although the Company’s compliance plan is intended to address the DMA’s obligations, it has been challenged by the Commission and may be challenged further by private litigants. The DMA provides for significant fines and penalties for noncompliance, and other jurisdictions may seek to require the Company to make changes to its business. While the changes introduced by the Company in the EU are intended to reduce new privacy and security risks that the DMA poses to EU users, many risks will remain.\nThe Company is also currently subject to antitrust investigations and litigation in various jurisdictions around the world, which can result in legal proceedings and claims against the Company that could, individually or in the aggregate, have a materially adverse impact on the Company’s business, results of operations and financial condition. For example, the Company is subject to civil antitrust lawsuits in the U.S. alleging monopolization or attempted monopolization in the markets for “performance smartphones” and “smartphones” generally in violation of U.S. antitrust laws. In addition, the Company is the subject of investigations in Europe and other jurisdictions relating to App Store terms and conditions. If such investigations or litigation are resolved against the Company, the Company can be exposed to significant fines and may be required to make further changes to its business practices, all of which could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nFurther, the Company has commercial relationships with other companies in the technology industry that are or may become subject to investigations and litigation that, if resolved against those other companies, could materially adversely affect the Company’s commercial relationships with those business partners and materially adversely affect the Company’s business, results of operations and financial condition. For example, the Company earns revenue from licensing arrangements with Google LLC and other companies to offer their search services on the Company’s platforms and applications, and certain of these arrangements are currently subject to government investigations and legal proceedings.\nApple Inc. | 2024 Form 10-K | 14\n\nThere can be no assurance the Company’s business will not be materially adversely affected, individually or in the aggregate, by the outcomes of such investigations, litigation or changes to laws and regulations in the future. Changes to the Company’s business practices to comply with new laws and regulations or in connection with other legal proceedings can negatively impact the reputation of the Company’s products for privacy and security and otherwise adversely affect the experience for users of the Company’s products and services, and result in harm to the Company’s reputation, loss of competitive advantage, poor market acceptance, reduced demand for products and services, and lost sales.\nThe Company’s business is subject to a variety of U.S. and international laws, rules, policies and other obligations regarding data protection.\nThe Company is subject to an increasing number of federal, state and international laws relating to the collection, use, retention, security and transfer of various types of personal information. In many cases, these laws apply not only to third-party transactions, but also restrict transfers of personal information among the Company and its international subsidiaries. Several jurisdictions have passed laws in this area, and additional jurisdictions are considering imposing additional restrictions or have laws that are pending. These laws continue to develop and may be inconsistent from jurisdiction to jurisdiction. Complying with emerging and changing requirements causes the Company to incur substantial costs and has required and may in the future require the Company to change its business practices. Noncompliance could result in significant penalties or legal liability.\nThe Company makes statements about its use and disclosure of personal information through its privacy policy, information provided on its website, press statements and other privacy notices provided to customers. Any failure by the Company to comply with these public statements or with federal, state or international privacy or data protection laws and regulations could result in inquiries or proceedings against the Company by governmental entities or others. In addition to reputational impacts, penalties could include ongoing audit requirements and significant legal liability.\nIn addition to the risks generally relating to the collection, use, retention, security and transfer of personal information, the Company is also subject to specific obligations relating to information considered sensitive under applicable laws, such as health data, financial data and biometric data. Health data and financial data are subject to additional privacy, security and breach notification requirements, and the Company is subject to audit by governmental authorities regarding the Company’s compliance with these obligations. If the Company fails to adequately comply with these rules and requirements, or if health data or financial data is handled in a manner not permitted by law or under the Company’s agreements with healthcare or financial institutions, the Company can be subject to litigation or government investigations, and can be liable for associated investigatory expenses, and can also incur significant fees or fines.\nPayment card data is also subject to additional requirements. Under payment card rules and obligations, if cardholder information is potentially compromised, the Company can be liable for associated investigatory expenses and can also incur significant fees or fines if the Company fails to follow payment card industry data security standards. The Company could also experience a significant increase in payment card transaction costs or lose the ability to process payment cards if it fails to follow payment card industry data security standards, which could materially adversely affect the Company’s business, reputation, results of operations and financial condition.\nFinancial Risks\nThe Company expects its quarterly net sales and results of operations to fluctuate.\nThe Company’s profit margins vary across its products, services, geographic segments and distribution channels. For example, the gross margins on the Company’s products and services vary significantly and can change over time. The Company’s gross margins are subject to volatility and downward pressure due to a variety of factors, including: continued industry-wide global product pricing pressures and product pricing actions that the Company may take in response to such pressures; increased competition; the Company’s ability to effectively stimulate demand for certain of its products and services; compressed product life cycles; supply shortages; potential increases in the cost of components, outside manufacturing services, and developing, acquiring and delivering content for the Company’s services; the Company’s ability to manage product quality and warranty costs effectively; shifts in the mix of products and services, or in the geographic, currency or channel mix, including to the extent that regulatory changes require the Company to modify its product and service offerings; fluctuations in foreign exchange rates; inflation and other macroeconomic pressures; and the introduction of new products or services, including new products or services with lower profit margins. These and other factors could have a materially adverse impact on the Company’s results of operations and financial condition.\nThe Company has historically experienced higher net sales in its first quarter compared to other quarters in its fiscal year due in part to seasonal holiday demand. Additionally, new product and service introductions can significantly impact net sales, cost of sales and operating expenses. Further, the Company generates a significant portion of its net sales from a single product and a decline in demand for that product could significantly impact quarterly net sales. The Company could also be subject to unexpected developments, such as lower-than-anticipated demand for the Company’s products or services, issues with new product or service introductions, information technology system failures or network disruptions, or failure of one of the Company’s logistics, supply or manufacturing partners.\nApple Inc. | 2024 Form 10-K | 15\n\nThe Company’s financial performance is subject to risks associated with changes in the value of the U.S. dollar relative to local currencies.\nThe Company’s primary exposure to movements in foreign exchange rates relates to non–U.S. dollar–denominated sales, cost of sales and operating expenses worldwide. Gross margins on the Company’s products in foreign countries and on products that include components obtained from foreign suppliers have in the past been adversely affected and could in the future be materially adversely affected by foreign exchange rate fluctuations.\nThe weakening of foreign currencies relative to the U.S. dollar adversely affects the U.S. dollar value of the Company’s foreign currency–denominated sales and earnings, and generally leads the Company to raise international pricing, potentially reducing demand for the Company’s products. In some circumstances, for competitive or other reasons, the Company may decide not to raise international pricing to offset the U.S. dollar’s strengthening, which would adversely affect the U.S. dollar value of the gross margins the Company earns on foreign currency–denominated sales.\nConversely, a strengthening of foreign currencies relative to the U.S. dollar, while generally beneficial to the Company’s foreign currency–denominated sales and earnings, could cause the Company to reduce international pricing or incur losses on its foreign currency derivative instruments, thereby limiting the benefit. Additionally, strengthening of foreign currencies may increase the Company’s cost of product components denominated in those currencies, thus adversely affecting gross margins.\nThe Company uses derivative instruments, such as foreign currency forward and option contracts, to hedge certain exposures to fluctuations in foreign exchange rates. The use of such hedging activities may not be effective to offset any, or more than a portion, of the adverse financial effects of unfavorable movements in foreign exchange rates over the limited time the hedges are in place.\nThe Company is exposed to credit risk and fluctuations in the values of its investment portfolio.\nThe Company’s investments can be negatively affected by changes in liquidity, credit deterioration, financial results, market and economic conditions, political risk, sovereign risk, interest rate fluctuations or other factors. As a result, the value and liquidity of the Company’s cash, cash equivalents and marketable securities may fluctuate substantially. Although the Company has not realized significant losses on its cash, cash equivalents and marketable securities, future fluctuations in their value could result in significant losses and could have a material adverse impact on the Company’s results of operations and financial condition.\nThe Company is exposed to credit risk on its trade accounts receivable, vendor non-trade receivables and prepayments related to long-term supply agreements, and this risk is heightened during periods when economic conditions worsen.\nThe Company distributes its products and certain of its services through third-party cellular network carriers, wholesalers, retailers and resellers. The Company also sells its products and services directly to small and mid-sized businesses and education, enterprise and government customers. A substantial majority of the Company’s outstanding trade receivables are not covered by collateral, third-party bank support or financing arrangements, or credit insurance, and a significant portion of the Company’s trade receivables can be concentrated within cellular network carriers or other resellers. The Company’s exposure to credit and collectibility risk on its trade receivables is higher in certain international markets and its ability to mitigate such risks may be limited. The Company also has unsecured vendor non-trade receivables resulting from purchases of components by outsourcing partners and other vendors that manufacture subassemblies or assemble final products for the Company. In addition, the Company has made prepayments associated with long-term supply agreements to secure supply of inventory components. As of September 28, 2024, the Company’s vendor non-trade receivables and prepayments related to long-term supply agreements were concentrated among a few individual vendors located primarily in Asia. While the Company has procedures to monitor and limit exposure to credit risk on its trade and vendor non-trade receivables, as well as long-term prepayments, there can be no assurance such procedures will effectively limit its credit risk and avoid losses.\nThe Company is subject to changes in tax rates, the adoption of new U.S. or international tax legislation and exposure to additional tax liabilities.\nThe Company is subject to taxes in the U.S. and numerous foreign jurisdictions, including Ireland and Singapore, where a number of the Company’s subsidiaries are organized. Due to economic and political conditions, tax laws and tax rates for income taxes and other non-income taxes in various jurisdictions may be subject to significant change. For example, the Organisation for Economic Co-operation and Development continues to advance proposals for modernizing international tax rules, including the introduction of global minimum tax standards. The Company’s effective tax rates are affected by changes in the mix of earnings in countries with differing statutory tax rates, changes in the valuation of deferred tax assets and liabilities, the introduction of new taxes, and changes in tax laws or their interpretation. The application of tax laws may be uncertain, require significant judgment and be subject to differing interpretations.\nApple Inc. | 2024 Form 10-K | 16\n\nThe Company is also subject to the examination of its tax returns and other tax matters by the U.S. Internal Revenue Service and other tax authorities and governmental bodies. The Company regularly assesses the likelihood of an adverse outcome resulting from these examinations to determine the adequacy of its provision for taxes. There can be no assurance as to the outcome of these examinations. If the Company’s effective tax rates were to increase, or if the ultimate determination of the Company’s taxes owed is for an amount in excess of amounts previously accrued, the Company’s business, results of operations and financial condition could be materially adversely affected.\nGeneral Risks\nThe price of the Company’s stock is subject to volatility.\nThe Company’s stock has experienced substantial price volatility in the past and may continue to do so in the future. Additionally, the Company, the technology industry and the stock market as a whole have, from time to time, experienced extreme stock price and volume fluctuations that have affected stock prices in ways that may have been unrelated to these companies’ operating performance. Price volatility may cause the average price at which the Company repurchases its stock in a given period to exceed the stock’s price at a given point in time. The Company believes the price of its stock should reflect expectations of future growth and profitability. The Company also believes the price of its stock should reflect expectations that its cash dividend will continue at current levels or grow, and that its current share repurchase program will be fully consummated. Future dividends are subject to declaration by the Company’s Board of Directors (the “Board”), and the Company’s share repurchase program does not obligate it to acquire any specific number of shares. If the Company fails to meet expectations related to future growth, profitability, dividends, share repurchases or other market expectations, the price of the Company’s stock may decline significantly, which could have a material adverse impact on investor confidence and employee retention.\nItem 1B. Unresolved Staff Comments\nNone.\nItem 1C. Cybersecurity\nThe Company’s management, led by its Head of Corporate Information Security, has overall responsibility for identifying, assessing and managing any material risks from cybersecurity threats. The Company’s Head of Corporate Information Security leads a dedicated Information Security team of highly skilled individuals with experience across industries that, among other things, develops and distributes information security policies, standards and procedures; engages in employee cybersecurity training; implements security controls; assesses security risk and compliance posture; monitors and responds to security events; and executes security testing and assessments. The Company’s Head of Corporate Information Security has extensive knowledge and skills gained from over 25 years of experience in the cybersecurity industry, including serving in leadership positions at other large technology companies and leading the Company’s Information Security team since 2016.\nThe Company’s Information Security team coordinates with teams across the Company to prevent, respond to and manage security incidents, and engages third parties, as appropriate, to assess, test or otherwise assist with aspects of its security processes and incident response. A dedicated Supplier Trust team manages information security risks the Company is exposed to through its supplier relationships. The Company has processes to log, track, address, and escalate for further assessment and report, as appropriate, cybersecurity incidents across the Company and its suppliers to senior management and the Audit and Finance Committee (the “Audit Committee”) of the Board. The Company’s enterprise risk management program is designed to identify, assess, and monitor the Company’s business risks, including financial, operational, compliance and reputational risks, and reflects management’s assessment of cybersecurity risks.\nThe Audit Committee assists the Board in the oversight and monitoring of cybersecurity matters. The Audit Committee regularly reviews and discusses the Company’s cybersecurity risks with management, including the Company’s Head of Corporate Information Security, its General Counsel and the Heads of Compliance and Business Conduct, Business Assurance, and Internal Audit, and receives updates, as necessary, regarding cybersecurity incidents. The Chair of the Audit Committee regularly reports the substance of such reviews and discussions to the Board, as necessary, and recommends to the Board such actions as the Audit Committee deems appropriate.\nFor a discussion of the Company’s cybersecurity-related risks, see Item 1A of this Form 10-K under the heading “Risk Factors.”\nApple Inc. | 2024 Form 10-K | 17\n\nItem 2. Properties\nThe Company’s headquarters is located in Cupertino, California. As of September 28, 2024, the Company owned or leased facilities and land for corporate functions, R&D, data centers, retail and other purposes at locations throughout the U.S. and in various places outside the U.S. The Company believes its existing facilities and equipment, which are used by all reportable segments, are in good operating condition and are suitable for the conduct of its business.\nItem 3. Legal Proceedings\nDigital Markets Act Investigations\nOn March 25, 2024, the Commission announced that it had opened two formal noncompliance investigations against the Company under the DMA. The Commission’s investigations concern (1) Article 5(4) of the DMA, which relates to how developers may communicate and promote offers to end users for apps distributed through the App Store as well as how developers may conclude contracts with those end users; and (2) Article 6(3) of the DMA, which relates to default settings, uninstallation of apps, and a web browser choice screen on iOS. On June 24, 2024, the Commission announced its preliminary findings in the Article 5(4) investigation alleging that the Company’s App Store rules are in breach of the DMA and announced that it had opened a third formal investigation against the Company regarding whether the Company’s new contractual requirements for third-party app developers and app marketplaces may violate the DMA. If the Commission makes a final determination that there has been a violation, it can issue a cease and desist order and may impose fines up to 10% of the Company’s annual worldwide net sales. Although any decision by the Commission can be appealed to the General Court of the EU, the effectiveness of the Commission’s order would apply immediately while the appeal is pending, unless a stay of the order is granted. The Company believes that it complies with the DMA and has continued to make changes to its compliance plan in response to feedback and engagement with the Commission.\nDepartment of Justice Lawsuit\nOn March 21, 2024, the U.S. Department of Justice (the “DOJ”) and a number of state and district attorneys general filed a civil antitrust lawsuit in the U.S. District Court for the District of New Jersey against the Company alleging monopolization or attempted monopolization in the markets for “performance smartphones” and “smartphones” in violation of U.S. antitrust laws. The DOJ is seeking equitable relief to redress the alleged anticompetitive behavior. In addition, various civil litigation matters have been filed in state and federal courts in the U.S. alleging similar violations of U.S. antitrust laws and seeking monetary damages and other nonmonetary relief. The Company believes it has substantial defenses and intends to vigorously defend itself.\nEpic Games\nEpic Games, Inc. (“Epic”) filed a lawsuit in the U.S. District Court for the Northern District of California (the “California District Court”) against the Company alleging violations of federal and state antitrust laws and California’s unfair competition law based upon the Company’s operation of its App Store. The California District Court found that certain provisions of the Company’s App Store Review Guidelines violate California’s unfair competition law and issued an injunction enjoining the Company from prohibiting developers from including in their apps external links that direct customers to purchasing mechanisms other than Apple in-app purchasing. The injunction applies to apps on the U.S. storefront of the iOS and iPadOS App Store. On January 16, 2024, the Company implemented a plan to comply with the injunction and filed a statement of compliance with the California District Court. A motion by Epic disputing the Company’s compliance plan and seeking to enforce the injunction, which the Company has opposed, is pending before the California District Court. On September 30, 2024, the Company filed a motion with the California District Court to narrow or vacate the injunction. The Company believes it has substantial defenses and intends to vigorously defend itself.\nOther Legal Proceedings\nThe Company is subject to other legal proceedings and claims that have not been fully resolved and that have arisen in the ordinary course of business. The Company settled certain matters during the fourth quarter of 2024 that did not individually or in the aggregate have a material impact on the Company’s financial condition or operating results. The outcome of litigation is inherently uncertain. If one or more legal matters were resolved against the Company in a reporting period for amounts above management’s expectations, the Company’s financial condition and operating results for that reporting period could be materially adversely affected.\nItem 4. Mine Safety Disclosures\nNot applicable.\nApple Inc. | 2024 Form 10-K | 18\n\nPART II\nItem 5. Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities\nThe Company’s common stock is traded on The Nasdaq Stock Market LLC under the symbol AAPL.\nHolders\nAs of October 18, 2024, there were 23,301 shareholders of record.\nPurchases of Equity Securities by the Issuer and Affiliated Purchasers\nShare repurchase activity during the three months ended September 28, 2024 was as follows (in millions, except number of shares, which are reflected in thousands, and per-share amounts):\nPeriods\t\tTotal Number\nof Shares Purchased\t\tAverage Price\nPaid Per Share\t\tTotal Number of Shares\nPurchased as Part of Publicly\nAnnounced Plans or Programs\t\t\nApproximate Dollar Value of\nShares That May Yet Be Purchased\nUnder the Plans or Programs (1)\nJune 30, 2024 to August 3, 2024:\nOpen market and privately negotiated purchases\t\t35,697 \t\t\t$\t224.11 \t\t\t35,697 \t\t\t\nAugust 4, 2024 to August 31, 2024:\nOpen market and privately negotiated purchases\t\t42,910 \t\t\t$\t221.39 \t\t\t42,910 \t\t\t\nSeptember 1, 2024 to September 28, 2024:\nOpen market and privately negotiated purchases\t\t33,653 \t\t\t$\t222.86 \t\t\t33,653 \t\t\t\nTotal\t\t112,260 \t\t\t\t\t\t\t$\t89,074 \t\n \n(1)As of September 28, 2024, the Company was authorized by the Board to purchase up to $110 billion of the Company’s common stock under a share repurchase program announced on May 2, 2024, of which $20.9 billion had been utilized. During the fourth quarter of 2024, the Company also utilized the final $4.1 billion under its previous repurchase program, which was authorized in May 2023. The programs do not obligate the Company to acquire a minimum amount of shares. Under the programs, shares may be repurchased in privately negotiated or open market transactions, including under plans complying with Rule 10b5-1 under the Exchange Act.\nApple Inc. | 2024 Form 10-K | 19\n\nCompany Stock Performance\nThe following graph shows a comparison of five-year cumulative total shareholder return, calculated on a dividend-reinvested basis, for the Company, the S&P 500 Index and the Dow Jones U.S. Technology Supersector Index. The graph assumes $100 was invested in each of the Company’s common stock, the S&P 500 Index and the Dow Jones U.S. Technology Supersector Index as of the market close on September 27, 2019. Past stock price performance is not necessarily indicative of future stock price performance.\n2218\nSeptember 2019\t\tSeptember 2020\t\tSeptember 2021\t\tSeptember 2022\t\tSeptember 2023\t\tSeptember 2024\nApple Inc.\t\t$\t100 \t\t\t$\t207 \t\t\t$\t273 \t\t\t$\t281 \t\t\t$\t322 \t\t\t$\t430 \t\nS&P 500 Index\t\t$\t100 \t\t\t$\t113 \t\t\t$\t156 \t\t\t$\t131 \t\t\t$\t155 \t\t\t$\t210 \t\nDow Jones U.S. Technology Supersector Index\t\t$\t100 \t\t\t$\t146 \t\t\t$\t216 \t\t\t$\t156 \t\t\t$\t215 \t\t\t$\t322 \t\n \nItem 6. [Reserved]\nApple Inc. | 2024 Form 10-K | 20\n\nItem 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations\nThe following discussion should be read in conjunction with the consolidated financial statements and accompanying notes included in Part II, Item 8 of this Form 10-K. This Item generally discusses 2024 and 2023 items and year-to-year comparisons between 2024 and 2023. Discussions of 2022 items and year-to-year comparisons between 2023 and 2022 are not included, and can be found in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in Part II, Item 7 of the Company’s Annual Report on Form 10-K for the fiscal year ended September 30, 2023.\nProduct, Service and Software Announcements\nThe Company announces new product, service and software offerings at various times during the year. Significant announcements during fiscal year 2024 included the following:\nFirst Quarter 2024:\n•MacBook Pro 14-in.;\n•MacBook Pro 16-in.; and\n•iMac.\nSecond Quarter 2024:\n•MacBook Air 13-in.; and\n•MacBook Air 15-in.\nThird Quarter 2024:\n•iPad Air;\n•iPad Pro;\n•iOS 18, macOS Sequoia, iPadOS 18, watchOS 11, visionOS 2 and tvOS 18, updates to the Company’s operating systems; and\n•Apple Intelligence™, a personal intelligence system that uses generative models.\nFourth Quarter 2024:\n•iPhone 16, iPhone 16 Plus, iPhone 16 Pro and iPhone 16 Pro Max;\n•Apple Watch Series 10; and\n•AirPods 4.\nFiscal Period\nThe Company’s fiscal year is the 52- or 53-week period that ends on the last Saturday of September. An additional week is included in the first fiscal quarter every five or six years to realign the Company’s fiscal quarters with calendar quarters, which occurred in the first quarter of 2023. The Company’s fiscal years 2024 and 2022 spanned 52 weeks each, whereas fiscal year 2023 spanned 53 weeks.\nMacroeconomic Conditions\nMacroeconomic conditions, including inflation, interest rates and currency fluctuations, have directly and indirectly impacted, and could in the future materially impact, the Company’s results of operations and financial condition.\nApple Inc. | 2024 Form 10-K | 21\n\nSegment Operating Performance\nThe following table shows net sales by reportable segment for 2024, 2023 and 2022 (dollars in millions):\n2024\t\tChange\t\t2023\t\tChange\t\t2022\nAmericas\t$\t167,045 \t\t\t3 \t%\t\t$\t162,560 \t\t\t(4)\t%\t\t$\t169,658 \t\nEurope\t101,328 \t\t\t7 \t%\t\t94,294 \t\t\t(1)\t%\t\t95,118 \t\nGreater China\t66,952 \t\t\t(8)\t%\t\t72,559 \t\t\t(2)\t%\t\t74,200 \t\nJapan\t25,052 \t\t\t3 \t%\t\t24,257 \t\t\t(7)\t%\t\t25,977 \t\nRest of Asia Pacific\t30,658 \t\t\t4 \t%\t\t29,615 \t\t\t1 \t%\t\t29,375 \t\nTotal net sales\t$\t391,035 \t\t\t2 \t%\t\t$\t383,285 \t\t\t(3)\t%\t\t$\t394,328 \t\n \nAmericas\nAmericas net sales increased during 2024 compared to 2023 due primarily to higher net sales of Services.\nEurope\nEurope net sales increased during 2024 compared to 2023 due primarily to higher net sales of Services and iPhone.\nGreater China\nGreater China net sales decreased during 2024 compared to 2023 due primarily to lower net sales of iPhone and iPad. The weakness in the renminbi relative to the U.S. dollar had an unfavorable year-over-year impact on Greater China net sales during 2024.\nJapan\nJapan net sales increased during 2024 compared to 2023 due primarily to higher net sales of iPhone. The weakness in the yen relative to the U.S. dollar had an unfavorable year-over-year impact on Japan net sales during 2024.\nRest of Asia Pacific\nRest of Asia Pacific net sales increased during 2024 compared to 2023 due primarily to higher net sales of Services. The weakness in foreign currencies relative to the U.S. dollar had a net unfavorable year-over-year impact on Rest of Asia Pacific net sales during 2024.\nApple Inc. | 2024 Form 10-K | 22\n\nProducts and Services Performance\nThe following table shows net sales by category for 2024, 2023 and 2022 (dollars in millions):\n2024\t\tChange\t\t2023\t\tChange\t\t2022\niPhone\t$\t201,183 \t\t\t— \t%\t\t$\t200,583 \t\t\t(2)\t%\t\t$\t205,489 \t\nMac\t29,984 \t\t\t2 \t%\t\t29,357 \t\t\t(27)\t%\t\t40,177 \t\niPad\t26,694 \t\t\t(6)\t%\t\t28,300 \t\t\t(3)\t%\t\t29,292 \t\nWearables, Home and Accessories\t37,005 \t\t\t(7)\t%\t\t39,845 \t\t\t(3)\t%\t\t41,241 \t\nServices (1)\n96,169 \t\t\t13 \t%\t\t85,200 \t\t\t9 \t%\t\t78,129 \t\nTotal net sales\t$\t391,035 \t\t\t2 \t%\t\t$\t383,285 \t\t\t(3)\t%\t\t$\t394,328 \t\n \n(1)Services net sales include amortization of the deferred value of services bundled in the sales price of certain products.\niPhone\niPhone net sales were relatively flat during 2024 compared to 2023.\nMac\nMac net sales increased during 2024 compared to 2023 due primarily to higher net sales of laptops.\niPad\niPad net sales decreased during 2024 compared to 2023 due primarily to lower net sales of iPad Pro and the entry-level iPad models, partially offset by higher net sales of iPad Air.\nWearables, Home and Accessories\nWearables, Home and Accessories net sales decreased during 2024 compared to 2023 due primarily to lower net sales of Wearables and Accessories.\nServices\nServices net sales increased during 2024 compared to 2023 due primarily to higher net sales from advertising, the App Store® and cloud services.\nApple Inc. | 2024 Form 10-K | 23\n\nGross Margin\nProducts and Services gross margin and gross margin percentage for 2024, 2023 and 2022 were as follows (dollars in millions):\n2024\t\t2023\t\t2022\nGross margin:\t\t\t\t\t\nProducts\t$\t109,633 \t\t\t$\t108,803 \t\t\t$\t114,728 \t\nServices\t71,050 \t\t\t60,345 \t\t\t56,054 \t\nTotal gross margin\t$\t180,683 \t\t\t$\t169,148 \t\t\t$\t170,782 \t\n \nGross margin percentage:\t\t\t\t\t\nProducts\t37.2 \t%\t\t36.5 \t%\t\t36.3 \t%\nServices\t73.9 \t%\t\t70.8 \t%\t\t71.7 \t%\nTotal gross margin percentage\t46.2 \t%\t\t44.1 \t%\t\t43.3 \t%\n \nProducts Gross Margin\nProducts gross margin and Products gross margin percentage increased during 2024 compared to 2023 due to cost savings, partially offset by a different Products mix and the weakness in foreign currencies relative to the U.S. dollar.\nServices Gross Margin\nServices gross margin increased during 2024 compared to 2023 due primarily to higher Services net sales.\nServices gross margin percentage increased during 2024 compared to 2023 due to a different Services mix.\nThe Company’s future gross margins can be impacted by a variety of factors, as discussed in Part I, Item 1A of this Form 10-K under the heading “Risk Factors.” As a result, the Company believes, in general, gross margins will be subject to volatility and downward pressure.\nOperating Expenses\nOperating expenses for 2024, 2023 and 2022 were as follows (dollars in millions):\n2024\t\tChange\t\t2023\t\tChange\t\t2022\nResearch and development\t$\t31,370 \t\t\t5 \t%\t\t$\t29,915 \t\t\t14 \t%\t\t$\t26,251 \t\nPercentage of total net sales\t8 \t%\t\t\t\t8 \t%\t\t\t\t7 \t%\nSelling, general and administrative\t$\t26,097 \t\t\t5 \t%\t\t$\t24,932 \t\t\t(1)\t%\t\t$\t25,094 \t\nPercentage of total net sales\t7 \t%\t\t\t\t7 \t%\t\t\t\t6 \t%\nTotal operating expenses\t$\t57,467 \t\t\t5 \t%\t\t$\t54,847 \t\t\t7 \t%\t\t$\t51,345 \t\nPercentage of total net sales\t15 \t%\t\t\t\t14 \t%\t\t\t\t13 \t%\n \nResearch and Development\nThe growth in R&D expense during 2024 compared to 2023 was driven primarily by increases in headcount-related expenses.\nSelling, General and Administrative\nSelling, general and administrative expense increased $1.2 billion during 2024 compared to 2023.\nApple Inc. | 2024 Form 10-K | 24\n\nProvision for Income Taxes\nProvision for income taxes, effective tax rate and statutory federal income tax rate for 2024, 2023 and 2022 were as follows (dollars in millions):\n2024\t\t2023\t\t2022\nProvision for income taxes\t$\t29,749 \t\t\t$\t16,741 \t\t\t$\t19,300 \t\nEffective tax rate\t24.1 \t%\t\t14.7 \t%\t\t16.2 \t%\nStatutory federal income tax rate\t21 \t%\t\t21 \t%\t\t21 \t%\n \nThe Company’s effective tax rate for 2024 was higher than the statutory federal income tax rate due primarily to a one-time income tax charge of $10.2 billion, net, related to the State Aid Decision (refer to Note 7, “Income Taxes” in the Notes to Consolidated Financial Statements in Part II, Item 8 of this Form 10-K) and state income taxes, partially offset by a lower effective tax rate on foreign earnings, the impact of the U.S. federal R&D credit, and tax benefits from share-based compensation.\nThe Company’s effective tax rate for 2024 was higher compared to 2023 due primarily to a one-time income tax charge of $10.2 billion, net, related to the State Aid Decision, a higher effective tax rate on foreign earnings and lower tax benefits from share-based compensation.\nLiquidity and Capital Resources\nThe Company believes its balances of unrestricted cash, cash equivalents and marketable securities, which totaled $140.8 billion as of September 28, 2024, along with cash generated by ongoing operations and continued access to debt markets, will be sufficient to satisfy its cash requirements and capital return program over the next 12 months and beyond.\nThe Company’s material cash requirements include the following contractual obligations:\nDebt\nAs of September 28, 2024, the Company had outstanding fixed-rate notes with varying maturities for an aggregate principal amount of $97.3 billion (collectively the “Notes”), with $10.9 billion payable within 12 months. Future interest payments associated with the Notes total $38.5 billion, with $2.6 billion payable within 12 months.\nThe Company also issues unsecured short-term promissory notes pursuant to a commercial paper program. As of September 28, 2024, the Company had $10.0 billion of commercial paper outstanding, all of which was payable within 12 months.\nLeases\nThe Company has lease arrangements for certain equipment and facilities, including corporate, data center, manufacturing and retail space. As of September 28, 2024, the Company had fixed lease payment obligations of $15.6 billion, with $2.0 billion payable within 12 months.\nManufacturing Purchase Obligations\nThe Company utilizes several outsourcing partners to manufacture subassemblies for the Company’s products and to perform final assembly and testing of finished products. The Company also obtains individual components for its products from a wide variety of individual suppliers. As of September 28, 2024, the Company had manufacturing purchase obligations of $53.0 billion, with $52.9 billion payable within 12 months.\nOther Purchase Obligations\nThe Company’s other purchase obligations primarily consist of noncancelable obligations to acquire capital assets, including assets related to product manufacturing, and noncancelable obligations related to supplier arrangements, licensed intellectual property and content, and distribution rights. As of September 28, 2024, the Company had other purchase obligations of $12.0 billion, with $4.1 billion payable within 12 months.\nDeemed Repatriation Tax Payable\nAs of September 28, 2024, the balance of the deemed repatriation tax payable imposed by the U.S. Tax Cuts and Jobs Act of 2017 (the “TCJA”) was $16.5 billion, with $7.2 billion expected to be paid within 12 months.\nApple Inc. | 2024 Form 10-K | 25\n\nState Aid Decision Tax Payable\nAs of September 28, 2024, the Company had an obligation to pay €14.2 billion or $15.8 billion to Ireland in connection with the State Aid Decision, all of which was expected to be paid within 12 months. The funds necessary to settle the obligation were held in escrow as of September 28, 2024, and restricted from general use.\nCapital Return Program\nIn addition to its contractual cash requirements, the Company has an authorized share repurchase program. The program does not obligate the Company to acquire a minimum amount of shares. As of September 28, 2024, the Company’s quarterly cash dividend was $0.25 per share. The Company intends to increase its dividend on an annual basis, subject to declaration by the Board.\nIn May 2024, the Company announced a new share repurchase program of up to $110 billion and raised its quarterly dividend from $0.24 to $0.25 per share beginning in May 2024. During 2024, the Company repurchased $95.0 billion of its common stock and paid dividends and dividend equivalents of $15.2 billion.\nRecent Accounting Pronouncements\nIncome Taxes\nIn December 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (“ASU 2023-09”), which will require the Company to disclose specified additional information in its income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 will also require the Company to disaggregate its income taxes paid disclosure by federal, state and foreign taxes, with further disaggregation required for significant individual jurisdictions. The Company will adopt ASU 2023-09 in its fourth quarter of 2026 using a prospective transition method.\nSegment Reporting\nIn November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (“ASU 2023-07”), which will require the Company to disclose segment expenses that are significant and regularly provided to the Company’s chief operating decision maker (“CODM”). In addition, ASU 2023-07 will require the Company to disclose the title and position of its CODM and how the CODM uses segment profit or loss information in assessing segment performance and deciding how to allocate resources. The Company will adopt ASU 2023-07 in its fourth quarter of 2025 using a retrospective transition method.\nCritical Accounting Estimates\nThe preparation of financial statements and related disclosures in conformity with U.S. generally accepted accounting principles (“GAAP”) and the Company’s discussion and analysis of its financial condition and operating results require the Company’s management to make judgments, assumptions and estimates that affect the amounts reported. Note 1, “Summary of Significant Accounting Policies” of the Notes to Consolidated Financial Statements in Part II, Item 8 of this Form 10-K describes the significant accounting policies and methods used in the preparation of the Company’s consolidated financial statements. Management bases its estimates on historical experience and on various other assumptions it believes to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities.\nUncertain Tax Positions\nThe Company is subject to income taxes in the U.S. and numerous foreign jurisdictions. The evaluation of the Company’s uncertain tax positions involves significant judgment in the interpretation and application of GAAP and complex domestic and international tax laws, including the TCJA and the allocation of international taxation rights between countries. Although management believes the Company’s reserves are reasonable, no assurance can be given that the final outcome of these uncertainties will not be different from that reflected in the Company’s reserves. Reserves are adjusted considering changing facts and circumstances, such as the closing of a tax examination. Resolution of these uncertainties in a manner inconsistent with management’s expectations could have a material impact on the Company’s financial condition and operating results.\nLegal and Other Contingencies\nThe Company is subject to various legal proceedings and claims that arise in the ordinary course of business, the outcomes of which are inherently uncertain. The Company records a liability when it is probable that a loss has been incurred and the amount is reasonably estimable, the determination of which requires significant judgment. Resolution of legal matters in a manner inconsistent with management’s expectations could have a material impact on the Company’s financial condition and operating results.\nApple Inc. | 2024 Form 10-K | 26\n\nItem 7A. Quantitative and Qualitative Disclosures About Market Risk\nThe Company is exposed to economic risk from interest rates and foreign exchange rates. The Company uses various strategies to manage these risks; however, they may still impact the Company’s consolidated financial statements.\nInterest Rate Risk\nThe Company is primarily exposed to fluctuations in U.S. interest rates and their impact on the Company’s investment portfolio and term debt. Increases in interest rates will negatively affect the fair value of the Company’s investment portfolio and increase the interest expense on the Company’s term debt. To protect against interest rate risk, the Company may use derivative instruments, offset interest rate–sensitive assets and liabilities, or control duration of the investment and term debt portfolios.\nThe following table sets forth potential impacts on the Company’s investment portfolio and term debt, including the effects of any associated derivatives, that would result from a hypothetical increase in relevant interest rates as of September 28, 2024 and September 30, 2023 (dollars in millions):\nInterest Rate\nSensitive Instrument\nHypothetical Interest\nRate Increase\nPotential Impact\n2024\t\t2023\nInvestment portfolio\n100 basis points, all tenors\nDecline in fair value\n$\t2,755 \t\t\t$\t3,089 \t\nTerm debt\n100 basis points, all tenors\nIncrease in annual interest expense\n$\t139 \t\t\t$\t194 \t\n \nForeign Exchange Rate Risk\nThe Company’s exposure to foreign exchange rate risk relates primarily to the Company being a net receiver of currencies other than the U.S. dollar. Changes in exchange rates, and in particular a strengthening of the U.S. dollar, will negatively affect the Company’s net sales and gross margins as expressed in U.S. dollars. Fluctuations in exchange rates may also affect the fair values of certain of the Company’s assets and liabilities. To protect against foreign exchange rate risk, the Company may use derivative instruments, offset exposures, or adjust local currency pricing of its products and services. However, the Company may choose to not hedge certain foreign currency exposures for a variety of reasons, including accounting considerations or prohibitive cost.\nThe Company applied a value-at-risk (“VAR”) model to its foreign currency derivative positions to assess the potential impact of fluctuations in exchange rates. The VAR model used a Monte Carlo simulation. The VAR is the maximum expected loss in fair value, for a given confidence interval, to the Company’s foreign currency derivative positions due to adverse movements in rates. Based on the results of the model, the Company estimates, with 95% confidence, a maximum one-day loss in fair value of $538 million and $669 million as of September 28, 2024 and September 30, 2023, respectively. Changes in the Company’s underlying foreign currency exposures, which were excluded from the assessment, generally offset changes in the fair values of the Company’s foreign currency derivatives.\nApple Inc. | 2024 Form 10-K | 27\n\nItem 8. Financial Statements and Supplementary Data\nIndex to Consolidated Financial Statements\t\tPage\nConsolidated Statements of Operations for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n29\nConsolidated Statements of Comprehensive Income for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n30\nConsolidated Balance Sheets as of September 28, 2024 and September 30, 2023\n31\nConsolidated Statements of Shareholders’ Equity for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n32\nConsolidated Statements of Cash Flows for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n33\nNotes to Consolidated Financial Statements\n34\nReports of Independent Registered Public Accounting Firm\n48\n \nAll financial statement schedules have been omitted, since the required information is not applicable or is not present in amounts sufficient to require submission of the schedule, or because the information required is included in the consolidated financial statements and accompanying notes.\nApple Inc. | 2024 Form 10-K | 28\n\nApple Inc.\nCONSOLIDATED STATEMENTS OF OPERATIONS\n(In millions, except number of shares, which are reflected in thousands, and per-share amounts)\n\nYears ended\nSeptember 28,\n2024\t\tSeptember 30,\n2023\t\tSeptember 24,\n2022\nNet sales:\t\t\t\t\t\n Products\t$\t294,866 \t\t\t$\t298,085 \t\t\t$\t316,199 \t\n Services\t96,169 \t\t\t85,200 \t\t\t78,129 \t\nTotal net sales\t391,035 \t\t\t383,285 \t\t\t394,328 \t\nCost of sales:\t\t\t\t\t\n Products\t185,233 \t\t\t189,282 \t\t\t201,471 \t\n Services\t25,119 \t\t\t24,855 \t\t\t22,075 \t\nTotal cost of sales\t210,352 \t\t\t214,137 \t\t\t223,546 \t\nGross margin\t180,683 \t\t\t169,148 \t\t\t170,782 \t\nOperating expenses:\t\t\t\t\t\nResearch and development\t31,370 \t\t\t29,915 \t\t\t26,251 \t\nSelling, general and administrative\t26,097 \t\t\t24,932 \t\t\t25,094 \t\nTotal operating expenses\t57,467 \t\t\t54,847 \t\t\t51,345 \t\nOperating income\t123,216 \t\t\t114,301 \t\t\t119,437 \t\nOther income/(expense), net\t269 \t\t\t(565)\t\t\t(334)\t\nIncome before provision for income taxes\t123,485 \t\t\t113,736 \t\t\t119,103 \t\nProvision for income taxes\t29,749 \t\t\t16,741 \t\t\t19,300 \t\nNet income\t$\t93,736 \t\t\t$\t96,995 \t\t\t$\t99,803 \t\nEarnings per share:\t\t\t\t\t\nBasic\t$\t6.11 \t\t\t$\t6.16 \t\t\t$\t6.15 \t\nDiluted\t$\t6.08 \t\t\t$\t6.13 \t\t\t$\t6.11 \t\nShares used in computing earnings per share:\t\t\t\t\t\nBasic\t15,343,783 \t\t\t15,744,231 \t\t\t16,215,963 \t\nDiluted\t15,408,095 \t\t\t15,812,547 \t\t\t16,325,819 \t\n \nSee accompanying Notes to Consolidated Financial Statements.\nApple Inc. | 2024 Form 10-K | 29\n\nApple Inc.\nCONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME\n(In millions)\n\nYears ended\nSeptember 28,\n2024\t\tSeptember 30,\n2023\t\tSeptember 24,\n2022\nNet income\t$\t93,736 \t\t\t$\t96,995 \t\t\t$\t99,803 \t\nOther comprehensive income/(loss):\t\t\t\t\t\nChange in foreign currency translation, net of tax\t395 \t\t\t(765)\t\t\t(1,511)\t\nChange in unrealized gains/losses on derivative instruments, net of tax:\t\t\t\t\t\nChange in fair value of derivative instruments\t(832)\t\t\t323 \t\t\t3,212 \t\nAdjustment for net (gains)/losses realized and included in net income\t(1,337)\t\t\t(1,717)\t\t\t(1,074)\t\nTotal change in unrealized gains/losses on derivative instruments\t(2,169)\t\t\t(1,394)\t\t\t2,138 \t\nChange in unrealized gains/losses on marketable debt securities, net of tax:\t\t\t\t\t\nChange in fair value of marketable debt securities\t5,850 \t\t\t1,563 \t\t\t(12,104)\t\nAdjustment for net (gains)/losses realized and included in net income\t204 \t\t\t253 \t\t\t205 \t\nTotal change in unrealized gains/losses on marketable debt securities\t6,054 \t\t\t1,816 \t\t\t(11,899)\t\nTotal other comprehensive income/(loss)\t4,280 \t\t\t(343)\t\t\t(11,272)\t\nTotal comprehensive income\t$\t98,016 \t\t\t$\t96,652 \t\t\t$\t88,531 \t\n \nSee accompanying Notes to Consolidated Financial Statements.\nApple Inc. | 2024 Form 10-K | 30\n\nApple Inc.\nCONSOLIDATED BALANCE SHEETS\n(In millions, except number of shares, which are reflected in thousands, and par value)\n\nSeptember 28,\n2024\t\tSeptember 30,\n2023\nASSETS:\nCurrent assets:\t\t\t\nCash and cash equivalents\t$\t29,943 \t\t\t$\t29,965 \t\nMarketable securities\t35,228 \t\t\t31,590 \t\nAccounts receivable, net\t33,410 \t\t\t29,508 \t\nVendor non-trade receivables\t32,833 \t\t\t31,477 \t\nInventories\t7,286 \t\t\t6,331 \t\nOther current assets\t14,287 \t\t\t14,695 \t\nTotal current assets\t152,987 \t\t\t143,566 \t\nNon-current assets:\t\t\t\nMarketable securities\t91,479 \t\t\t100,544 \t\nProperty, plant and equipment, net\t45,680 \t\t\t43,715 \t\nOther non-current assets\t74,834 \t\t\t64,758 \t\nTotal non-current assets\t211,993 \t\t\t209,017 \t\nTotal assets\t$\t364,980 \t\t\t$\t352,583 \t\nLIABILITIES AND SHAREHOLDERS’ EQUITY:\nCurrent liabilities:\t\t\t\nAccounts payable\t$\t68,960 \t\t\t$\t62,611 \t\nOther current liabilities\t78,304 \t\t\t58,829 \t\nDeferred revenue\t8,249 \t\t\t8,061 \t\nCommercial paper\t9,967 \t\t\t5,985 \t\nTerm debt\t10,912 \t\t\t9,822 \t\nTotal current liabilities\t176,392 \t\t\t145,308 \t\nNon-current liabilities:\t\t\t\nTerm debt\t85,750 \t\t\t95,281 \t\nOther non-current liabilities\t45,888 \t\t\t49,848 \t\nTotal non-current liabilities\t131,638 \t\t\t145,129 \t\nTotal liabilities\t308,030 \t\t\t290,437 \t\nCommitments and contingencies\t\t\t\nShareholders’ equity:\t\t\t\nCommon stock and additional paid-in capital, $0.00001 par value: 50,400,000 shares authorized; 15,116,786 and 15,550,061 shares issued and outstanding, respectively\n83,276 \t\t\t73,812 \t\nAccumulated deficit\t(19,154)\t\t\t(214)\t\nAccumulated other comprehensive loss\t(7,172)\t\t\t(11,452)\t\nTotal shareholders’ equity\t56,950 \t\t\t62,146 \t\nTotal liabilities and shareholders’ equity\t$\t364,980 \t\t\t$\t352,583 \t\n \nSee accompanying Notes to Consolidated Financial Statements.\nApple Inc. | 2024 Form 10-K | 31\n\nApple Inc.\nCONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY\n(In millions, except per-share amounts)\n\nYears ended\nSeptember 28,\n2024\t\tSeptember 30,\n2023\t\tSeptember 24,\n2022\nTotal shareholders’ equity, beginning balances\t$\t62,146 \t\t\t$\t50,672 \t\t\t$\t63,090 \t\nCommon stock and additional paid-in capital:\t\t\t\t\t\nBeginning balances\t73,812 \t\t\t64,849 \t\t\t57,365 \t\nCommon stock issued\t1,423 \t\t\t1,346 \t\t\t1,175 \t\nCommon stock withheld related to net share settlement of equity awards\t(3,993)\t\t\t(3,521)\t\t\t(2,971)\t\nShare-based compensation\t12,034 \t\t\t11,138 \t\t\t9,280 \t\nEnding balances\t83,276 \t\t\t73,812 \t\t\t64,849 \t\nRetained earnings/(Accumulated deficit):\t\t\t\t\t\nBeginning balances\t(214)\t\t\t(3,068)\t\t\t5,562 \t\nNet income\t93,736 \t\t\t96,995 \t\t\t99,803 \t\nDividends and dividend equivalents declared\t(15,218)\t\t\t(14,996)\t\t\t(14,793)\t\nCommon stock withheld related to net share settlement of equity awards\t(1,612)\t\t\t(2,099)\t\t\t(3,454)\t\nCommon stock repurchased\t(95,846)\t\t\t(77,046)\t\t\t(90,186)\t\nEnding balances\t(19,154)\t\t\t(214)\t\t\t(3,068)\t\nAccumulated other comprehensive income/(loss):\t\t\t\t\t\nBeginning balances\t(11,452)\t\t\t(11,109)\t\t\t163 \t\nOther comprehensive income/(loss)\t4,280 \t\t\t(343)\t\t\t(11,272)\t\nEnding balances\t(7,172)\t\t\t(11,452)\t\t\t(11,109)\t\nTotal shareholders’ equity, ending balances\t$\t56,950 \t\t\t$\t62,146 \t\t\t$\t50,672 \t\nDividends and dividend equivalents declared per share or RSU\t$\t0.98 \t\t\t$\t0.94 \t\t\t$\t0.90 \t\n \nSee accompanying Notes to Consolidated Financial Statements.\nApple Inc. | 2024 Form 10-K | 32\n\nApple Inc.\nCONSOLIDATED STATEMENTS OF CASH FLOWS\n(In millions)\nYears ended\nSeptember 28,\n2024\t\tSeptember 30,\n2023\t\tSeptember 24,\n2022\nCash, cash equivalents, and restricted cash and cash equivalents, beginning balances\n$\t30,737 \t\t\t$\t24,977 \t\t\t$\t35,929 \t\nOperating activities:\t\t\t\t\t\nNet income\t93,736 \t\t\t96,995 \t\t\t99,803 \t\nAdjustments to reconcile net income to cash generated by operating activities:\t\t\t\t\t\nDepreciation and amortization\t11,445 \t\t\t11,519 \t\t\t11,104 \t\nShare-based compensation expense\t11,688 \t\t\t10,833 \t\t\t9,038 \t\nOther\t(2,266)\t\t\t(2,227)\t\t\t1,006 \t\nChanges in operating assets and liabilities:\t\t\t\t\t\nAccounts receivable, net\t(3,788)\t\t\t(1,688)\t\t\t(1,823)\t\nVendor non-trade receivables\t(1,356)\t\t\t1,271 \t\t\t(7,520)\t\nInventories\t(1,046)\t\t\t(1,618)\t\t\t1,484 \t\nOther current and non-current assets\t(11,731)\t\t\t(5,684)\t\t\t(6,499)\t\nAccounts payable\t6,020 \t\t\t(1,889)\t\t\t9,448 \t\nOther current and non-current liabilities\t15,552 \t\t\t3,031 \t\t\t6,110 \t\nCash generated by operating activities\t118,254 \t\t\t110,543 \t\t\t122,151 \t\nInvesting activities:\t\t\t\t\t\nPurchases of marketable securities\t(48,656)\t\t\t(29,513)\t\t\t(76,923)\t\nProceeds from maturities of marketable securities\t51,211 \t\t\t39,686 \t\t\t29,917 \t\nProceeds from sales of marketable securities\t11,135 \t\t\t5,828 \t\t\t37,446 \t\nPayments for acquisition of property, plant and equipment\t(9,447)\t\t\t(10,959)\t\t\t(10,708)\t\nOther\t(1,308)\t\t\t(1,337)\t\t\t(2,086)\t\nCash generated by/(used in) investing activities\t2,935 \t\t\t3,705 \t\t\t(22,354)\t\nFinancing activities:\t\t\t\t\t\nPayments for taxes related to net share settlement of equity awards\t(5,441)\t\t\t(5,431)\t\t\t(6,223)\t\nPayments for dividends and dividend equivalents\t(15,234)\t\t\t(15,025)\t\t\t(14,841)\t\nRepurchases of common stock\t(94,949)\t\t\t(77,550)\t\t\t(89,402)\t\nProceeds from issuance of term debt, net\t— \t\t\t5,228 \t\t\t5,465 \t\nRepayments of term debt\t(9,958)\t\t\t(11,151)\t\t\t(9,543)\t\nProceeds from/(Repayments of) commercial paper, net\t3,960 \t\t\t(3,978)\t\t\t3,955 \t\nOther\t(361)\t\t\t(581)\t\t\t(160)\t\nCash used in financing activities\t(121,983)\t\t\t(108,488)\t\t\t(110,749)\t\nIncrease/(Decrease) in cash, cash equivalents, and restricted cash and cash equivalents\t(794)\t\t\t5,760 \t\t\t(10,952)\t\nCash, cash equivalents, and restricted cash and cash equivalents, ending balances\n$\t29,943 \t\t\t$\t30,737 \t\t\t$\t24,977 \t\nSupplemental cash flow disclosure:\t\t\t\t\t\nCash paid for income taxes, net\t$\t26,102 \t\t\t$\t18,679 \t\t\t$\t19,573 \t\n \nSee accompanying Notes to Consolidated Financial Statements.\nApple Inc. | 2024 Form 10-K | 33\n\nApple Inc.\nNotes to Consolidated Financial Statements\nNote 1 – Summary of Significant Accounting Policies\nBasis of Presentation and Preparation\nThe consolidated financial statements include the accounts of Apple Inc. and its wholly owned subsidiaries. The preparation of these consolidated financial statements and accompanying notes in conformity with GAAP requires the use of management estimates. Certain prior period amounts in the consolidated financial statements and accompanying notes have been reclassified to conform to the current period’s presentation.\nThe Company’s fiscal year is the 52- or 53-week period that ends on the last Saturday of September. An additional week is included in the first fiscal quarter every five or six years to realign the Company’s fiscal quarters with calendar quarters, which occurred in the first fiscal quarter of 2023. The Company’s fiscal years 2024 and 2022 spanned 52 weeks each, whereas fiscal year 2023 spanned 53 weeks. Unless otherwise stated, references to particular years, quarters, months and periods refer to the Company’s fiscal years ended in September and the associated quarters, months and periods of those fiscal years.\nRevenue\nThe Company records revenue net of taxes collected from customers that are remitted to governmental authorities.\nShare-Based Compensation\nThe Company recognizes share-based compensation expense on a straight-line basis for its estimate of equity awards that will ultimately vest.\nCash Equivalents\nAll highly liquid investments with maturities of three months or less at the date of purchase are treated as cash equivalents.\nMarketable Securities\nThe cost of securities sold is determined using the specific identification method.\nInventories\nInventories are measured using the first-in, first-out method.\nProperty, Plant and Equipment\nDepreciation on property, plant and equipment is recognized on a straight-line basis.\nDerivative Instruments\nThe Company presents derivative assets and liabilities at their gross fair values in the Consolidated Balance Sheets.\nIncome Taxes\nThe Company records certain deferred tax assets and liabilities in connection with the minimum tax on certain foreign earnings created by the TCJA.\nLeases\nThe Company combines and accounts for lease and nonlease components as a single lease component for leases of corporate, data center and retail facilities.\nApple Inc. | 2024 Form 10-K | 34\n\nNote 2 – Revenue\nThe Company recognizes revenue at the amount to which it expects to be entitled when control of the products or services is transferred to its customers. Control is generally transferred when the Company has a present right to payment and title and the significant risks and rewards of ownership of products or services are transferred to its customers. For most of the Company’s Products net sales, control transfers when products are shipped. For the Company’s Services net sales, control transfers over time as services are delivered. Payment for Products and Services net sales is collected within a short period following transfer of control or commencement of delivery of services, as applicable.\nThe Company records reductions to Products net sales related to future product returns, price protection and other customer incentive programs based on the Company’s expectations and historical experience.\nFor arrangements with multiple performance obligations, which represent promises within an arrangement that are distinct, the Company allocates revenue to all distinct performance obligations based on their relative stand-alone selling prices (“SSPs”). When available, the Company uses observable prices to determine SSPs. When observable prices are not available, SSPs are established that reflect the Company’s best estimates of what the selling prices of the performance obligations would be if they were sold regularly on a stand-alone basis. The Company’s process for estimating SSPs without observable prices considers multiple factors that may vary depending upon the unique facts and circumstances related to each performance obligation including, where applicable, prices charged by the Company for similar offerings, market trends in the pricing for similar offerings, product-specific business objectives and the estimated cost to provide the performance obligation.\nThe Company has identified the performance obligations regularly included in arrangements involving the sale of iPhone, Mac and iPad. The first material performance obligation, which represents the substantial portion of the allocated sales price, is the hardware and bundled software delivered at the time of sale. The second material performance obligation is the right to receive certain product-related bundled services, which include iCloud®, Siri® and Maps. The Company allocates revenue and any related discounts to all of its performance obligations based on their relative SSPs. Because the Company lacks observable prices for product-related bundled services, the allocation of revenue is based on the Company’s estimated SSPs. Revenue allocated to the delivered hardware and bundled software is recognized when control has transferred to the customer, which generally occurs when the product is shipped. Revenue allocated to product-related bundled services is deferred and recognized on a straight-line basis over the estimated period they are expected to be provided.\nFor certain long-term service arrangements, the Company has performance obligations for services it has not yet delivered. For these arrangements, the Company does not have a right to bill for the undelivered services. The Company has determined that any unbilled consideration relates entirely to the value of the undelivered services. Accordingly, the Company has not recognized revenue, and does not disclose amounts, related to these undelivered services.\nFor the sale of third-party products where the Company obtains control of the product before transferring it to the customer, the Company recognizes revenue based on the gross amount billed to customers. The Company considers multiple factors when determining whether it obtains control of third-party products, including evaluating if it can establish the price of the product, retains inventory risk for tangible products or has the responsibility for ensuring acceptability of the product. For third-party applications sold through the App Store, the Company does not obtain control of the product before transferring it to the customer. Therefore, the Company accounts for all third-party application–related sales on a net basis by recognizing in Services net sales only the commission it retains.\nNet sales disaggregated by significant products and services for 2024, 2023 and 2022 were as follows (in millions):\n2024\t\t2023\t\t2022\niPhone\n$\t201,183 \t\t\t$\t200,583 \t\t\t$\t205,489 \t\nMac\n29,984 \t\t\t29,357 \t\t\t40,177 \t\niPad\n26,694 \t\t\t28,300 \t\t\t29,292 \t\nWearables, Home and Accessories\n37,005 \t\t\t39,845 \t\t\t41,241 \t\nServices (1)\n96,169 \t\t\t85,200 \t\t\t78,129 \t\nTotal net sales\t$\t391,035 \t\t\t$\t383,285 \t\t\t$\t394,328 \t\n \n(1)Services net sales include amortization of the deferred value of services bundled in the sales price of certain products.\nTotal net sales include $7.7 billion of revenue recognized in 2024 that was included in deferred revenue as of September 30, 2023, $8.2 billion of revenue recognized in 2023 that was included in deferred revenue as of September 24, 2022, and $7.5 billion of revenue recognized in 2022 that was included in deferred revenue as of September 25, 2021.\nApple Inc. | 2024 Form 10-K | 35\n\nThe Company’s proportion of net sales by disaggregated revenue source was generally consistent for each reportable segment in Note 13, “Segment Information and Geographic Data” for 2024, 2023 and 2022, except in Greater China, where iPhone revenue represented a moderately higher proportion of net sales.\nAs of September 28, 2024 and September 30, 2023, the Company had total deferred revenue of $12.8 billion and $12.1 billion, respectively. As of September 28, 2024, the Company expects 64% of total deferred revenue to be realized in less than a year, 25% within one-to-two years, 9% within two-to-three years and 2% in greater than three years.\nNote 3 – Earnings Per Share\nThe following table shows the computation of basic and diluted earnings per share for 2024, 2023 and 2022 (net income in millions and shares in thousands):\n2024\t\t2023\t\t2022\nNumerator:\t\t\t\t\t\nNet income\t$\t93,736 \t\t\t$\t96,995 \t\t\t$\t99,803 \t\nDenominator:\t\t\t\t\t\nWeighted-average basic shares outstanding\t15,343,783 \t\t\t15,744,231 \t\t\t16,215,963 \t\nEffect of dilutive share-based awards\t64,312 \t\t\t68,316 \t\t\t109,856 \t\nWeighted-average diluted shares\t15,408,095 \t\t\t15,812,547 \t\t\t16,325,819 \t\nBasic earnings per share\t$\t6.11 \t\t\t$\t6.16 \t\t\t$\t6.15 \t\nDiluted earnings per share\t$\t6.08 \t\t\t$\t6.13 \t\t\t$\t6.11 \t\n \nApproximately 24 million restricted stock units (“RSUs”) were excluded from the computation of diluted earnings per share for 2023 because their effect would have been antidilutive.\nNote 4 – Financial Instruments\nCash, Cash Equivalents and Marketable Securities\nThe following tables show the Company’s cash, cash equivalents and marketable securities by significant investment category as of September 28, 2024 and September 30, 2023 (in millions):\n2024\nAdjusted\nCost\t\tUnrealized\nGains\t\tUnrealized\nLosses\t\tFair\nValue\t\tCash and\nCash\nEquivalents\t\tCurrent\nMarketable\nSecurities\t\tNon-Current\nMarketable\nSecurities\nCash\t$\t27,199 \t\t\t$\t— \t\t\t$\t— \t\t\t$\t27,199 \t\t\t$\t27,199 \t\t\t$\t— \t\t\t$\t— \t\nLevel 1:\t\t\t\t\t\t\t\t\t\t\t\t\t\nMoney market funds\t778 \t\t\t— \t\t\t— \t\t\t778 \t\t\t778 \t\t\t— \t\t\t— \t\nMutual funds\n515 \t\t\t105 \t\t\t(3)\t\t\t617 \t\t\t— \t\t\t617 \t\t\t— \t\nSubtotal\t1,293 \t\t\t105 \t\t\t(3)\t\t\t1,395 \t\t\t778 \t\t\t617 \t\t\t— \t\nLevel 2 (1):\nU.S. Treasury securities\t16,150 \t\t\t45 \t\t\t(516)\t\t\t15,679 \t\t\t212 \t\t\t4,087 \t\t\t11,380 \t\nU.S. agency securities\t5,431 \t\t\t— \t\t\t(272)\t\t\t5,159 \t\t\t155 \t\t\t703 \t\t\t4,301 \t\nNon-U.S. government securities\t17,959 \t\t\t93 \t\t\t(484)\t\t\t17,568 \t\t\t1,158 \t\t\t10,810 \t\t\t5,600 \t\nCertificates of deposit and time deposits\t873 \t\t\t— \t\t\t— \t\t\t873 \t\t\t387 \t\t\t478 \t\t\t8 \t\nCommercial paper\t1,066 \t\t\t— \t\t\t— \t\t\t1,066 \t\t\t28 \t\t\t1,038 \t\t\t— \t\nCorporate debt securities\t65,622 \t\t\t270 \t\t\t(1,953)\t\t\t63,939 \t\t\t26 \t\t\t16,027 \t\t\t47,886 \t\nMunicipal securities\t412 \t\t\t— \t\t\t(7)\t\t\t405 \t\t\t— \t\t\t190 \t\t\t215 \t\nMortgage- and asset-backed securities\t24,595 \t\t\t175 \t\t\t(1,403)\t\t\t23,367 \t\t\t— \t\t\t1,278 \t\t\t22,089 \t\nSubtotal\t132,108 \t\t\t583 \t\t\t(4,635)\t\t\t128,056 \t\t\t1,966 \t\t\t34,611 \t\t\t91,479 \t\nTotal (2)(3)\n$\t160,600 \t\t\t$\t688 \t\t\t$\t(4,638)\t\t\t$\t156,650 \t\t\t$\t29,943 \t\t\t$\t35,228 \t\t\t$\t91,479 \t\n \nApple Inc. | 2024 Form 10-K | 36\n\n2023\nAdjusted\nCost\t\tUnrealized\nGains\t\tUnrealized\nLosses\t\tFair\nValue\t\tCash and\nCash\nEquivalents\t\tCurrent\nMarketable\nSecurities\t\tNon-Current\nMarketable\nSecurities\nCash\t$\t28,359 \t\t\t$\t— \t\t\t$\t— \t\t\t$\t28,359 \t\t\t$\t28,359 \t\t\t$\t— \t\t\t$\t— \t\nLevel 1:\t\t\t\t\t\t\t\t\t\t\t\t\t\nMoney market funds\t481 \t\t\t— \t\t\t— \t\t\t481 \t\t\t481 \t\t\t— \t\t\t— \t\nMutual funds and equity securities\n442 \t\t\t12 \t\t\t(26)\t\t\t428 \t\t\t— \t\t\t428 \t\t\t— \t\nSubtotal\t923 \t\t\t12 \t\t\t(26)\t\t\t909 \t\t\t481 \t\t\t428 \t\t\t— \t\nLevel 2 (1):\nU.S. Treasury securities\t19,406 \t\t\t— \t\t\t(1,292)\t\t\t18,114 \t\t\t35 \t\t\t5,468 \t\t\t12,611 \t\nU.S. agency securities\t5,736 \t\t\t— \t\t\t(600)\t\t\t5,136 \t\t\t36 \t\t\t271 \t\t\t4,829 \t\nNon-U.S. government securities\t17,533 \t\t\t6 \t\t\t(1,048)\t\t\t16,491 \t\t\t— \t\t\t11,332 \t\t\t5,159 \t\nCertificates of deposit and time deposits\t1,354 \t\t\t— \t\t\t— \t\t\t1,354 \t\t\t1,034 \t\t\t320 \t\t\t— \t\nCommercial paper\t608 \t\t\t— \t\t\t— \t\t\t608 \t\t\t— \t\t\t608 \t\t\t— \t\nCorporate debt securities\t76,840 \t\t\t6 \t\t\t(5,956)\t\t\t70,890 \t\t\t20 \t\t\t12,627 \t\t\t58,243 \t\nMunicipal securities\t628 \t\t\t— \t\t\t(26)\t\t\t602 \t\t\t— \t\t\t192 \t\t\t410 \t\nMortgage- and asset-backed securities\t22,365 \t\t\t6 \t\t\t(2,735)\t\t\t19,636 \t\t\t— \t\t\t344 \t\t\t19,292 \t\nSubtotal\t144,470 \t\t\t18 \t\t\t(11,657)\t\t\t132,831 \t\t\t1,125 \t\t\t31,162 \t\t\t100,544 \t\nTotal (3)\n$\t173,752 \t\t\t$\t30 \t\t\t$\t(11,683)\t\t\t$\t162,099 \t\t\t$\t29,965 \t\t\t$\t31,590 \t\t\t$\t100,544 \t\n \n(1)The valuation techniques used to measure the fair values of the Company’s Level 2 financial instruments, which generally have counterparties with high credit ratings, are based on quoted market prices or model-driven valuations using significant inputs derived from or corroborated by observable market data.\n(2)As of September 28, 2024, cash and cash equivalents included $2.6 billion held in escrow and restricted from general use. These restricted cash and cash equivalents were designated to settle the Company’s obligation related to the State Aid Decision (refer to Note 7, “Income Taxes”).\n(3)As of September 28, 2024 and September 30, 2023, total marketable securities included $13.2 billion and $13.8 billion, respectively, held in escrow and restricted from general use. The September 28, 2024 restricted marketable securities were designated to settle the Company’s obligation related to the State Aid Decision (refer to Note 7, “Income Taxes”).\nAs of September 28, 2024, 86% of the Company’s non-current marketable debt securities other than mortgage- and asset-backed securities had maturities between 1 and 5 years, 10% between 5 and 10 years, and 4% greater than 10 years. As of September 28, 2024, 14% of the Company’s non-current mortgage- and asset-backed securities had maturities between 1 and 5 years, 9% between 5 and 10 years, and 77% greater than 10 years.\nThe Company’s investments in marketable debt securities have been classified and accounted for as available-for-sale. The Company classifies marketable debt securities as either current or non-current based on each instrument’s underlying maturity.\nDerivative Instruments and Hedging\nThe Company may use derivative instruments to partially offset its business exposure to foreign exchange and interest rate risk. However, the Company may choose not to hedge certain exposures for a variety of reasons including accounting considerations or the prohibitive economic cost of hedging particular exposures. There can be no assurance the hedges will offset more than a portion of the financial impact resulting from movements in foreign exchange or interest rates.\nThe Company classifies cash flows related to derivative instruments in the same section of the Consolidated Statements of Cash Flows as the items being hedged, which are generally classified as operating activities.\nForeign Exchange Rate Risk\nTo protect gross margins from fluctuations in foreign exchange rates, the Company may use forwards, options or other instruments, and may designate these instruments as cash flow hedges. The Company generally hedges portions of its forecasted foreign currency exposure associated with revenue and inventory purchases, typically for up to 12 months.\nApple Inc. | 2024 Form 10-K | 37\n\nTo protect the Company’s foreign currency–denominated term debt or marketable securities from fluctuations in foreign exchange rates, the Company may use forwards, cross-currency swaps or other instruments. The Company designates these instruments as either cash flow or fair value hedges. As of September 28, 2024, the maximum length of time over which the Company is hedging its exposure to the variability in future cash flows for term debt–related foreign currency transactions is 18 years.\nThe Company may also use derivative instruments that are not designated as accounting hedges to protect gross margins from certain fluctuations in foreign exchange rates, as well as to offset a portion of the foreign currency gains and losses generated by the remeasurement of certain assets and liabilities denominated in non-functional currencies.\nInterest Rate Risk\nTo protect the Company’s term debt or marketable securities from fluctuations in interest rates, the Company may use interest rate swaps, options or other instruments. The Company designates these instruments as either cash flow or fair value hedges.\nThe notional amounts of the Company’s outstanding derivative instruments as of September 28, 2024 and September 30, 2023 were as follows (in millions):\n2024\t\t2023\nDerivative instruments designated as accounting hedges:\t\t\t\nForeign exchange contracts\t$\t64,069 \t\t\t$\t74,730 \t\nInterest rate contracts\t$\t14,575 \t\t\t$\t19,375 \t\nDerivative instruments not designated as accounting hedges:\t\t\t\nForeign exchange contracts\t$\t91,493 \t\t\t$\t104,777 \t\n \nThe carrying amounts of the Company’s hedged items in fair value hedges as of September 28, 2024 and September 30, 2023 were as follows (in millions):\n2024\t\t2023\nHedged assets/(liabilities):\t\t\t\nCurrent and non-current marketable securities\t$\t— \t\t\t$\t14,433 \t\nCurrent and non-current term debt\t$\t(13,505)\t\t\t$\t(18,247)\t\n \nAccounts Receivable\nTrade Receivables\nThe Company’s third-party cellular network carriers accounted for 38% and 41% of total trade receivables as of September 28, 2024 and September 30, 2023, respectively. The Company requires third-party credit support or collateral from certain customers to limit credit risk.\nVendor Non-Trade Receivables\nThe Company has non-trade receivables from certain of its manufacturing vendors resulting from the sale of components to these vendors who manufacture subassemblies or assemble final products for the Company. The Company purchases these components directly from suppliers. The Company does not reflect the sale of these components in products net sales. Rather, the Company recognizes any gain on these sales as a reduction of products cost of sales when the related final products are sold by the Company. As of September 28, 2024, the Company had two vendors that individually represented 10% or more of total vendor non-trade receivables, which accounted for 44% and 23%. As of September 30, 2023, the Company had two vendors that individually represented 10% or more of total vendor non-trade receivables, which accounted for 48% and 23%.\nApple Inc. | 2024 Form 10-K | 38\n\nNote 5 – Property, Plant and Equipment\nThe following table shows the Company’s gross property, plant and equipment by major asset class and accumulated depreciation as of September 28, 2024 and September 30, 2023 (in millions):\n2024\t\t2023\nLand and buildings\t$\t24,690 \t\t\t$\t23,446 \t\nMachinery, equipment and internal-use software\t80,205 \t\t\t78,314 \t\nLeasehold improvements\t14,233 \t\t\t12,839 \t\nGross property, plant and equipment\t119,128 \t\t\t114,599 \t\nAccumulated depreciation\n(73,448)\t\t\t(70,884)\t\nTotal property, plant and equipment, net\t$\t45,680 \t\t\t$\t43,715 \t\n \nDepreciation expense on property, plant and equipment was $8.2 billion, $8.5 billion and $8.7 billion during 2024, 2023 and 2022, respectively.\nNote 6 – Consolidated Financial Statement Details\nThe following tables show the Company’s consolidated financial statement details as of September 28, 2024 and September 30, 2023 (in millions):\nOther Non-Current Assets\n2024\t\t2023\nDeferred tax assets\t$\t19,499 \t\t\t$\t17,852 \t\nOther non-current assets\t55,335 \t\t\t46,906 \t\nTotal other non-current assets\t$\t74,834 \t\t\t$\t64,758 \t\n \nOther Current Liabilities\n2024\t\t2023\nIncome taxes payable\t$\t26,601 \t\t\t$\t8,819 \t\nOther current liabilities\t51,703 \t\t\t50,010 \t\nTotal other current liabilities\t$\t78,304 \t\t\t$\t58,829 \t\n \nOther Non-Current Liabilities\n2024\t\t2023\nIncome taxes payable\n$\t9,254 \t\t\t$\t15,457 \t\nOther non-current liabilities\t36,634 \t\t\t34,391 \t\nTotal other non-current liabilities\t$\t45,888 \t\t\t$\t49,848 \t\n \nNote 7 – Income Taxes\nEuropean Commission State Aid Decision\nOn August 30, 2016, the Commission announced its decision that Ireland granted state aid to the Company by providing tax opinions in 1991 and 2007 concerning the tax allocation of profits of the Irish branches of two subsidiaries of the Company (the “State Aid Decision”). The State Aid Decision ordered Ireland to calculate and recover additional taxes from the Company for the period June 2003 through December 2014. Irish legislative changes, effective as of January 2015, eliminated the application of the tax opinions from that date forward. The recovery amount was calculated to be €13.1 billion, plus interest of €1.2 billion.\nFrom time to time, the Company requested approval from the Irish Minister for Finance to reduce the recovery amount for certain taxes paid to other countries. As of September 28, 2024, the adjusted recovery amount of €12.7 billion plus interest of €1.2 billion was held in escrow and restricted from general use. The total balance of the escrow, including net unrealized investment gains, was €14.2 billion or $15.8 billion as of September 28, 2024, of which $2.6 billion was classified as cash and cash equivalents and $13.2 billion was classified as current marketable securities in the Consolidated Balance Sheet. Refer to the Cash, Cash Equivalents and Marketable Securities section of Note 4, “Financial Instruments” for more information.\nApple Inc. | 2024 Form 10-K | 39\n\nThe Company and Ireland appealed the State Aid Decision to the General Court of the Court of Justice of the European Union (the “General Court”). On July 15, 2020, the General Court annulled the State Aid Decision. On September 25, 2020, the Commission appealed the General Court’s decision to the European Court of Justice (the “ECJ”) and a hearing was held on May 23, 2023. On September 10, 2024, the ECJ announced that it had set aside the 2020 judgment of the General Court and confirmed the Commission’s 2016 State Aid Decision. As a result, during the fourth quarter of 2024 the Company recorded a one-time income tax charge of $10.2 billion, net, which represents $15.8 billion payable to Ireland via release of the escrow, partially offset by a U.S. foreign tax credit of $4.8 billion and a decrease in unrecognized tax benefits of $823 million.\nProvision for Income Taxes and Effective Tax Rate\nThe provision for income taxes for 2024, 2023 and 2022, consisted of the following (in millions):\n2024\t\t2023\t\t2022\nFederal:\t\t\t\t\t\nCurrent\t$\t5,571 \t\t\t$\t9,445 \t\t\t$\t7,890 \t\nDeferred\t(3,080)\t\t\t(3,644)\t\t\t(2,265)\t\nTotal\t2,491 \t\t\t5,801 \t\t\t5,625 \t\nState:\t\t\t\t\t\nCurrent\t1,726 \t\t\t1,570 \t\t\t1,519 \t\nDeferred\t(298)\t\t\t(49)\t\t\t84 \t\nTotal\t1,428 \t\t\t1,521 \t\t\t1,603 \t\nForeign:\t\t\t\t\t\nCurrent\t25,483 \t\t\t8,750 \t\t\t8,996 \t\nDeferred\t347 \t\t\t669 \t\t\t3,076 \t\nTotal\t25,830 \t\t\t9,419 \t\t\t12,072 \t\nProvision for income taxes\t$\t29,749 \t\t\t$\t16,741 \t\t\t$\t19,300 \t\n \nForeign pretax earnings were $77.3 billion, $72.9 billion and $71.3 billion in 2024, 2023 and 2022, respectively.\nA reconciliation of the provision for income taxes to the amount computed by applying the statutory federal income tax rate (21% in 2024, 2023 and 2022) to income before provision for income taxes for 2024, 2023 and 2022, is as follows (dollars in millions):\n2024\t\t2023\t\t2022\nComputed expected tax\t$\t25,932 \t\t\t$\t23,885 \t\t\t$\t25,012 \t\nState taxes, net of federal effect\t1,162 \t\t\t1,124 \t\t\t1,518 \t\nImpact of the State Aid Decision\n10,246 \t\t\t— \t\t\t— \t\nEarnings of foreign subsidiaries\t(5,311)\t\t\t(5,744)\t\t\t(4,366)\t\nResearch and development credit, net\t(1,397)\t\t\t(1,212)\t\t\t(1,153)\t\nExcess tax benefits from equity awards\t(893)\t\t\t(1,120)\t\t\t(1,871)\t\nOther\t10 \t\t\t(192)\t\t\t160 \t\nProvision for income taxes\t$\t29,749 \t\t\t$\t16,741 \t\t\t$\t19,300 \t\nEffective tax rate\t24.1 \t%\t\t14.7 \t%\t\t16.2 \t%\n \nApple Inc. | 2024 Form 10-K | 40\n\nDeferred Tax Assets and Liabilities\nAs of September 28, 2024 and September 30, 2023, the significant components of the Company’s deferred tax assets and liabilities were (in millions):\n2024\t\t2023\nDeferred tax assets:\t\t\t\nCapitalized research and development\t$\t10,739 \t\t\t$\t6,294 \t\nTax credit carryforwards\t8,856 \t\t\t8,302 \t\nAccrued liabilities and other reserves\t6,114 \t\t\t6,365 \t\nDeferred revenue\t3,413 \t\t\t4,571 \t\nLease liabilities\t2,410 \t\t\t2,421 \t\nUnrealized losses\t1,173 \t\t\t2,447 \t\nOther\t2,168 \t\t\t2,343 \t\nTotal deferred tax assets\t34,873 \t\t\t32,743 \t\nLess: Valuation allowance\t(8,866)\t\t\t(8,374)\t\nTotal deferred tax assets, net\t26,007 \t\t\t24,369 \t\nDeferred tax liabilities:\t\t\t\nDepreciation\t2,551 \t\t\t1,998 \t\nRight-of-use assets\t2,125 \t\t\t2,179 \t\nMinimum tax on foreign earnings\t1,674 \t\t\t1,940 \t\nUnrealized gains\t— \t\t\t511 \t\nOther\t455 \t\t\t490 \t\nTotal deferred tax liabilities\t6,805 \t\t\t7,118 \t\nNet deferred tax assets\t$\t19,202 \t\t\t$\t17,251 \t\n \nAs of September 28, 2024, the Company had $5.1 billion in foreign tax credit carryforwards in Ireland and $3.6 billion in California R&D credit carryforwards, both of which can be carried forward indefinitely. A valuation allowance has been recorded for the credit carryforwards and a portion of other temporary differences.\nUncertain Tax Positions\nAs of September 28, 2024, the total amount of gross unrecognized tax benefits was $22.0 billion, of which $10.8 billion, if recognized, would impact the Company’s effective tax rate. As of September 30, 2023, the total amount of gross unrecognized tax benefits was $19.5 billion, of which $9.5 billion, if recognized, would have impacted the Company’s effective tax rate.\nThe aggregate change in the balance of gross unrecognized tax benefits, which excludes interest and penalties, for 2024, 2023 and 2022, is as follows (in millions):\n2024\t\t2023\t\t2022\nBeginning balances\t$\t19,454 \t\t\t$\t16,758 \t\t\t$\t15,477 \t\nIncreases related to tax positions taken during a prior year\t1,727 \t\t\t2,044 \t\t\t2,284 \t\nDecreases related to tax positions taken during a prior year\t(386)\t\t\t(1,463)\t\t\t(1,982)\t\nIncreases related to tax positions taken during the current year\t2,542 \t\t\t2,628 \t\t\t1,936 \t\nDecreases related to settlements with taxing authorities\t(1,070)\t\t\t(19)\t\t\t(28)\t\nDecreases related to expiration of the statute of limitations\t(229)\t\t\t(494)\t\t\t(929)\t\nEnding balances\t$\t22,038 \t\t\t$\t19,454 \t\t\t$\t16,758 \t\n \nThe Company is subject to taxation and files income tax returns in the U.S. federal jurisdiction and many state and foreign jurisdictions. Tax years after 2017 for the U.S. federal jurisdiction, and after 2014 in certain major foreign jurisdictions, remain subject to examination. Although the timing of resolution or closure of examinations is not certain, the Company believes it is reasonably possible that its gross unrecognized tax benefits could decrease between approximately $5 billion and $13 billion in the next 12 months, primarily related to intercompany transfer pricing and deemed repatriation tax.\nApple Inc. | 2024 Form 10-K | 41\n\nNote 8 – Leases\nThe Company has lease arrangements for certain equipment and facilities, including corporate, data center, manufacturing and retail space. These leases typically have original terms not exceeding 10 years and generally contain multiyear renewal options, some of which are reasonably certain of exercise.\nPayments under the Company’s lease arrangements may be fixed or variable, and variable lease payments are primarily based on purchases of output of the underlying leased assets. Lease costs associated with fixed payments on the Company’s operating leases were $2.0 billion for both 2024 and 2023 and $1.9 billion for 2022. Lease costs associated with variable payments on the Company’s leases were $13.8 billion, $13.9 billion and $14.9 billion for 2024, 2023 and 2022, respectively.\nThe Company made fixed cash payments related to operating leases of $1.9 billion in both 2024 and 2023 and $1.8 billion in 2022. Noncash activities involving right-of-use (“ROU”) assets obtained in exchange for lease liabilities were $1.0 billion, $2.1 billion and $2.8 billion for 2024, 2023 and 2022, respectively.\nThe following table shows ROU assets and lease liabilities, and the associated financial statement line items, as of September 28, 2024 and September 30, 2023 (in millions):\nLease-Related Assets and Liabilities\t\tFinancial Statement Line Items\t\t2024\t\t2023\nRight-of-use assets:\t\t\t\t\t\t\nOperating leases\t\tOther non-current assets\t\t$\t10,234 \t\t\t$\t10,661 \t\nFinance leases\t\tProperty, plant and equipment, net\t\t1,069 \t\t\t1,015 \t\nTotal right-of-use assets\t\t\t\t$\t11,303 \t\t\t$\t11,676 \t\nLease liabilities:\t\t\t\t\t\t\nOperating leases\t\tOther current liabilities\t\t$\t1,488 \t\t\t$\t1,410 \t\nOther non-current liabilities\t\t10,046 \t\t\t10,408 \t\nFinance leases\t\tOther current liabilities\t\t144 \t\t\t165 \t\nOther non-current liabilities\t\t752 \t\t\t859 \t\nTotal lease liabilities\t\t\t\t$\t12,430 \t\t\t$\t12,842 \t\n \nLease liability maturities as of September 28, 2024, are as follows (in millions):\nOperating\nLeases\t\tFinance\nLeases\t\tTotal\n2025\t$\t1,820 \t\t\t$\t171 \t\t\t$\t1,991 \t\n2026\t1,914 \t\t\t131 \t\t\t2,045 \t\n2027\t1,674 \t\t\t59 \t\t\t1,733 \t\n2028\t1,360 \t\t\t38 \t\t\t1,398 \t\n2029\t1,187 \t\t\t36 \t\t\t1,223 \t\nThereafter\t5,563 \t\t\t837 \t\t\t6,400 \t\nTotal undiscounted liabilities\t13,518 \t\t\t1,272 \t\t\t14,790 \t\nLess: Imputed interest\t(1,984)\t\t\t(376)\t\t\t(2,360)\t\nTotal lease liabilities\t$\t11,534 \t\t\t$\t896 \t\t\t$\t12,430 \t\n \nThe weighted-average remaining lease term related to the Company’s lease liabilities as of September 28, 2024 and September 30, 2023 was 10.3 years and 10.6 years, respectively. The discount rate related to the Company’s lease liabilities as of September 28, 2024 and September 30, 2023 was 3.1% and 3.0%, respectively. The discount rates related to the Company’s lease liabilities are generally based on estimates of the Company’s incremental borrowing rate, as the discount rates implicit in the Company’s leases cannot be readily determined.\nAs of September 28, 2024, the Company had $849 million of fixed payment obligations under additional leases, primarily for corporate facilities and retail space, that had not yet commenced. These leases will commence between 2025 and 2026, with lease terms ranging from less than 1 year to 21 years.\nApple Inc. | 2024 Form 10-K | 42\n\nNote 9 – Debt\nCommercial Paper\nThe Company issues unsecured short-term promissory notes pursuant to a commercial paper program. The Company uses net proceeds from the commercial paper program for general corporate purposes, including dividends and share repurchases. As of September 28, 2024 and September 30, 2023, the Company had $10.0 billion and $6.0 billion of commercial paper outstanding, respectively, with maturities generally less than nine months. The weighted-average interest rate of the Company’s commercial paper was 5.00% and 5.28% as of September 28, 2024 and September 30, 2023, respectively. The following table provides a summary of cash flows associated with the issuance and maturities of commercial paper for 2024, 2023 and 2022 (in millions):\n2024\t\t2023\t\t2022\nMaturities 90 days or less:\t\t\t\t\t\nProceeds from/(Repayments of) commercial paper, net\t$\t3,960 \t\t\t$\t(1,333)\t\t\t$\t5,264 \t\nMaturities greater than 90 days:\t\t\t\t\t\nProceeds from commercial paper\t— \t\t\t— \t\t\t5,948 \t\nRepayments of commercial paper\t— \t\t\t(2,645)\t\t\t(7,257)\t\nProceeds from/(Repayments of) commercial paper, net\t— \t\t\t(2,645)\t\t\t(1,309)\t\nTotal proceeds from/(repayments of) commercial paper, net\t$\t3,960 \t\t\t$\t(3,978)\t\t\t$\t3,955 \t\n \nTerm Debt\nThe Company has outstanding Notes, which are senior unsecured obligations with interest payable in arrears. The following table provides a summary of the Company’s term debt as of September 28, 2024 and September 30, 2023:\nMaturities\n(calendar year)\n2024\t\t2023\nAmount\n(in millions)\nEffective\nInterest Rate\t\t\nAmount\n(in millions)\nEffective\nInterest Rate\n2013 – 2023 debt issuances:\nFixed-rate 0.000% – 4.850% notes\n2024 – 2062\n$\t97,341 \t\t\t\n0.03% – 6.65%\n$\t106,572 \t\t\t\n0.03% – 6.72%\nTotal term debt principal\n97,341 \t\t\t\t\t106,572 \t\t\t\nUnamortized premium/(discount) and issuance costs, net\n(321)\t\t\t\t\t(356)\t\t\t\nHedge accounting fair value adjustments\t\t\t(358)\t\t\t\t\t(1,113)\t\t\t\nTotal term debt\n96,662 \t\t\t\t\t105,103 \t\t\t\nLess: Current portion of term debt\t\t\t(10,912)\t\t\t\t\t(9,822)\t\t\t\nTotal non-current portion of term debt\t\t\t$\t85,750 \t\t\t\t\t$\t95,281 \t\t\t\n \nTo manage interest rate risk on certain of its U.S. dollar–denominated fixed-rate notes, the Company uses interest rate swaps to effectively convert the fixed interest rates to floating interest rates on a portion of these notes. Additionally, to manage foreign exchange rate risk on certain of its foreign currency–denominated notes, the Company uses cross-currency swaps to effectively convert these notes to U.S. dollar–denominated notes.\nThe effective interest rates for the Notes include the interest on the Notes, amortization of the discount or premium and, if applicable, adjustments related to hedging.\nThe future principal payments for the Company’s Notes as of September 28, 2024, are as follows (in millions):\n2025\t$\t10,930 \t\n2026\t12,342 \t\n2027\t9,936 \t\n2028\t7,800 \t\n2029\t5,153 \t\nThereafter\t51,180 \t\nTotal term debt principal\t$\t97,341 \t\n \nApple Inc. | 2024 Form 10-K | 43\n\nAs of September 28, 2024 and September 30, 2023, the fair value of the Company’s Notes, based on Level 2 inputs, was $88.4 billion and $90.8 billion, respectively.\nNote 10 – Shareholders’ Equity\nShare Repurchase Program\nDuring 2024, the Company repurchased 499 million shares of its common stock for $95.0 billion. The Company’s share repurchase programs do not obligate the Company to acquire a minimum amount of shares. Under the programs, shares may be repurchased in privately negotiated or open market transactions, including under plans complying with Rule 10b5-1 under the Exchange Act.\nShares of Common Stock\nThe following table shows the changes in shares of common stock for 2024, 2023 and 2022 (in thousands):\n2024\t\t2023\t\t2022\nCommon stock outstanding, beginning balances\t15,550,061 \t\t\t15,943,425 \t\t\t16,426,786 \t\nCommon stock repurchased\t(499,372)\t\t\t(471,419)\t\t\t(568,589)\t\nCommon stock issued, net of shares withheld for employee taxes\t66,097 \t\t\t78,055 \t\t\t85,228 \t\nCommon stock outstanding, ending balances\t15,116,786 \t\t\t15,550,061 \t\t\t15,943,425 \t\n \nNote 11 – Share-Based Compensation\n2022 Employee Stock Plan\nThe Apple Inc. 2022 Employee Stock Plan (the “2022 Plan”) is a shareholder-approved plan that provides for broad-based equity grants to employees, including executive officers, and permits the granting of RSUs, stock grants, performance-based awards, stock options and stock appreciation rights. RSUs granted under the 2022 Plan generally vest over four years, based on continued employment, and are settled upon vesting in shares of the Company’s common stock on a one-for-one basis. All RSUs granted under the 2022 Plan have dividend equivalent rights, which entitle holders of RSUs to the same dividend value per share as holders of common stock. A maximum of approximately 1.3 billion shares were authorized for issuance pursuant to 2022 Plan awards at the time the plan was approved on March 4, 2022.\n2014 Employee Stock Plan\nThe Apple Inc. 2014 Employee Stock Plan, as amended and restated (the “2014 Plan”), is a shareholder-approved plan that provided for broad-based equity grants to employees, including executive officers. The 2014 Plan permitted the granting of the same types of equity awards with substantially the same terms as the 2022 Plan. The 2014 Plan also permitted the granting of cash bonus awards. In the third quarter of 2022, the Company terminated the authority to grant new awards under the 2014 Plan.\nApple Inc. | 2024 Form 10-K | 44\n\nRestricted Stock Units\nA summary of the Company’s RSU activity and related information for 2024, 2023 and 2022, is as follows:\nNumber of\nRSUs\n(in thousands)\nWeighted-Average\nGrant-Date Fair\nValue Per RSU\nAggregate\nFair Value\n(in millions)\nBalance as of September 25, 2021\t240,427 \t\t\t$\t75.16 \t\t\t\nRSUs granted\t91,674 \t\t\t$\t150.70 \t\t\t\nRSUs vested\t(115,861)\t\t\t$\t72.12 \t\t\t\nRSUs canceled\t(14,739)\t\t\t$\t99.77 \t\t\t\nBalance as of September 24, 2022\t201,501 \t\t\t$\t109.48 \t\t\t\nRSUs granted\t88,768 \t\t\t$\t150.87 \t\t\t\nRSUs vested\t(101,878)\t\t\t$\t97.31 \t\t\t\nRSUs canceled\t(8,144)\t\t\t$\t127.98 \t\t\t\nBalance as of September 30, 2023\t180,247 \t\t\t$\t135.91 \t\t\t\nRSUs granted\t80,456 \t\t\t$\t173.78 \t\t\t\nRSUs vested\t(87,633)\t\t\t$\t127.59 \t\t\t\nRSUs canceled\t(9,744)\t\t\t$\t140.80 \t\t\t\nBalance as of September 28, 2024\t163,326 \t\t\t$\t158.73 \t\t\t$\t37,204 \t\n \nThe fair value as of the respective vesting dates of RSUs was $15.8 billion, $15.9 billion and $18.2 billion for 2024, 2023 and 2022, respectively. The majority of RSUs that vested in 2024, 2023 and 2022 were net share settled such that the Company withheld shares with a value equivalent to the employees’ obligation for the applicable income and other employment taxes, and remitted cash to the appropriate taxing authorities. The total shares withheld were approximately 31 million, 37 million and 41 million for 2024, 2023 and 2022, respectively, and were based on the value of the RSUs on their respective vesting dates as determined by the Company’s closing stock price. Total payments to taxing authorities for employees’ tax obligations were $5.6 billion in both 2024 and 2023 and $6.4 billion in 2022.\nShare-Based Compensation\nThe following table shows share-based compensation expense and the related income tax benefit included in the Consolidated Statements of Operations for 2024, 2023 and 2022 (in millions):\n2024\t\t2023\t\t2022\nShare-based compensation expense\t$\t11,688 \t\t\t$\t10,833 \t\t\t$\t9,038 \t\nIncome tax benefit related to share-based compensation expense\t$\t(3,350)\t\t\t$\t(3,421)\t\t\t$\t(4,002)\t\n \nAs of September 28, 2024, the total unrecognized compensation cost related to outstanding RSUs was $19.4 billion, which the Company expects to recognize over a weighted-average period of 2.4 years.\nNote 12 – Commitments, Contingencies and Supply Concentrations\nUnconditional Purchase Obligations\nThe Company has entered into certain off–balance sheet commitments that require the future purchase of goods or services (“unconditional purchase obligations”). The Company’s unconditional purchase obligations primarily consist of supplier arrangements, licensed intellectual property and content, and distribution rights. Future payments under unconditional purchase obligations with a remaining term in excess of one year as of September 28, 2024, are as follows (in millions):\n2025\t$\t3,206 \t\n2026\t2,440 \t\n2027\t1,156 \t\n2028\t3,121 \t\n2029\t633 \t\nThereafter\t670 \t\nTotal\t$\t11,226 \t\n \nApple Inc. | 2024 Form 10-K | 45\n\nContingencies\nThe Company is subject to various legal proceedings and claims that have arisen in the ordinary course of business and that have not been fully resolved. The outcome of litigation is inherently uncertain. In the opinion of management, there was not at least a reasonable possibility the Company may have incurred a material loss, or a material loss greater than a recorded accrual, concerning loss contingencies for asserted legal and other claims.\nConcentrations in the Available Sources of Supply of Materials and Product\nAlthough most components essential to the Company’s business are generally available from multiple sources, certain components are currently obtained from single or limited sources. The Company also competes for various components with other participants in the markets for smartphones, personal computers, tablets, wearables and accessories. Therefore, many components used by the Company, including those that are available from multiple sources, are at times subject to industry-wide shortage and significant commodity pricing fluctuations.\nThe Company uses some custom components that are not commonly used by its competitors, and new products introduced by the Company often utilize custom components available from only one source. When a component or product uses new technologies, initial capacity constraints may exist until the suppliers’ yields have matured or their manufacturing capacities have increased. The continued availability of these components at acceptable prices, or at all, may be affected if suppliers decide to concentrate on the production of common components instead of components customized to meet the Company’s requirements.\nSubstantially all of the Company’s hardware products are manufactured by outsourcing partners that are located primarily in China mainland, India, Japan, South Korea, Taiwan and Vietnam.\nNote 13 – Segment Information and Geographic Data\nThe Company manages its business primarily on a geographic basis. The Company’s reportable segments consist of the Americas, Europe, Greater China, Japan and Rest of Asia Pacific. Americas includes both North and South America. Europe includes European countries, as well as India, the Middle East and Africa. Greater China includes China mainland, Hong Kong and Taiwan. Rest of Asia Pacific includes Australia and those Asian countries not included in the Company’s other reportable segments. Although the reportable segments provide similar hardware and software products and similar services, each one is managed separately to better align with the location of the Company’s customers and distribution partners and the unique market dynamics of each geographic region.\nThe Company evaluates the performance of its reportable segments based on net sales and operating income. Net sales for geographic segments are generally based on the location of customers and sales through the Company’s retail stores located in those geographic locations. Operating income for each segment consists of net sales to third parties, related cost of sales, and operating expenses directly attributable to the segment. The information provided to the Company’s chief operating decision maker for purposes of making decisions and assessing segment performance excludes asset information.\nApple Inc. | 2024 Form 10-K | 46\n\nThe following table shows information by reportable segment for 2024, 2023 and 2022 (in millions):\n2024\t\t2023\t\t2022\nAmericas:\t\t\t\t\t\nNet sales\t$\t167,045 \t\t\t$\t162,560 \t\t\t$\t169,658 \t\nOperating income\t$\t67,656 \t\t\t$\t60,508 \t\t\t$\t62,683 \t\nEurope:\t\t\t\t\t\nNet sales\t$\t101,328 \t\t\t$\t94,294 \t\t\t$\t95,118 \t\nOperating income\t$\t41,790 \t\t\t$\t36,098 \t\t\t$\t35,233 \t\nGreater China:\t\t\t\t\t\nNet sales\t$\t66,952 \t\t\t$\t72,559 \t\t\t$\t74,200 \t\nOperating income\t$\t27,082 \t\t\t$\t30,328 \t\t\t$\t31,153 \t\nJapan:\t\t\t\t\t\nNet sales\t$\t25,052 \t\t\t$\t24,257 \t\t\t$\t25,977 \t\nOperating income\t$\t12,454 \t\t\t$\t11,888 \t\t\t$\t12,257 \t\nRest of Asia Pacific:\t\t\t\t\t\nNet sales\t$\t30,658 \t\t\t$\t29,615 \t\t\t$\t29,375 \t\nOperating income\t$\t13,062 \t\t\t$\t12,066 \t\t\t$\t11,569 \t\n \nA reconciliation of the Company’s segment operating income to the Consolidated Statements of Operations for 2024, 2023 and 2022 is as follows (in millions):\n2024\t\t2023\t\t2022\nSegment operating income\t$\t162,044 \t\t\t$\t150,888 \t\t\t$\t152,895 \t\nResearch and development expense\t(31,370)\t\t\t(29,915)\t\t\t(26,251)\t\nOther corporate expenses, net (1)\n(7,458)\t\t\t(6,672)\t\t\t(7,207)\t\nTotal operating income\t$\t123,216 \t\t\t$\t114,301 \t\t\t$\t119,437 \t\n \n(1)Includes general and administrative compensation costs, various nonrecurring charges, and other separately managed costs.\nThe following tables show net sales for 2024, 2023 and 2022 and long-lived assets as of September 28, 2024 and September 30, 2023 for countries that individually accounted for 10% or more of the respective totals, as well as aggregate amounts for the remaining countries (in millions):\n2024\t\t2023\t\t2022\nNet sales:\t\t\t\t\t\nU.S.\t$\t142,196 \t\t\t$\t138,573 \t\t\t$\t147,859 \t\nChina (1)\n66,952 \t\t\t72,559 \t\t\t74,200 \t\nOther countries\t181,887 \t\t\t172,153 \t\t\t172,269 \t\nTotal net sales\t$\t391,035 \t\t\t$\t383,285 \t\t\t$\t394,328 \t\n \n2024\t\t2023\nLong-lived assets:\t\t\t\nU.S.\t$\t35,664 \t\t\t$\t33,276 \t\nChina (1)\n4,797 \t\t\t5,778 \t\nOther countries\t5,219 \t\t\t4,661 \t\nTotal long-lived assets\t$\t45,680 \t\t\t$\t43,715 \t\n \n(1)China includes Hong Kong and Taiwan.\nApple Inc. | 2024 Form 10-K | 47\n\n\nReport of Independent Registered Public Accounting Firm\nTo the Shareholders and the Board of Directors of Apple Inc.\nOpinion on the Financial Statements\nWe have audited the accompanying consolidated balance sheets of Apple Inc. (the “Company”) as of September 28, 2024 and September 30, 2023, the related consolidated statements of operations, comprehensive income, shareholders’ equity and cash flows for each of the three years in the period ended September 28, 2024, and the related notes (collectively referred to as the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company at September 28, 2024 and September 30, 2023, and the results of its operations and its cash flows for each of the three years in the period ended September 28, 2024, in conformity with U.S. generally accepted accounting principles (“GAAP”).\nWe also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (“PCAOB”), the Company’s internal control over financial reporting as of September 28, 2024, based on criteria established in Internal Control – Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) and our report dated November 1, 2024 expressed an unqualified opinion thereon.\nBasis for Opinion\nThese financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.\nWe conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.\nCritical Audit Matter\nThe critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the account or disclosure to which it relates.\nUncertain Tax Positions\nDescription of the Matter\t\nAs discussed in Note 7 to the financial statements, the Company is subject to income taxes in the U.S. and numerous foreign jurisdictions. As of September 28, 2024, the total amount of gross unrecognized tax benefits was $22.0 billion, of which $10.8 billion, if recognized, would impact the Company’s effective tax rate. In accounting for some of the uncertain tax positions, the Company uses significant judgment in the interpretation and application of GAAP and complex domestic and international tax laws.\nAuditing management’s evaluation of whether an uncertain tax position is more likely than not to be sustained and the measurement of the benefit of various tax positions can be complex, involves significant judgment, and is based on interpretations of tax laws and legal rulings.\n \nApple Inc. | 2024 Form 10-K | 48\n\nHow We Addressed the\nMatter in Our Audit\t\nWe tested controls relating to the evaluation of uncertain tax positions, including controls over management’s assessment as to whether tax positions are more likely than not to be sustained, management’s process to measure the benefit of its tax positions that qualify for recognition, and the related disclosures.\nWe evaluated the Company’s assessment of which tax positions are more likely than not to be sustained and the related measurement of the amount of tax benefit that qualifies for recognition. Our audit procedures included, among others, reading and evaluating management’s assumptions and analysis, and, as applicable, the Company’s communications with taxing authorities, that detailed the basis and technical merits of the uncertain tax positions. We involved our tax subject matter resources in assessing the technical merits of certain of the Company’s tax positions based on our knowledge of relevant tax laws and experience with related taxing authorities. For a certain tax position, we also received an external legal counsel confirmation letter and discussed the matter with external advisors and the Company’s tax personnel. In addition, we evaluated the Company’s disclosure in relation to these matters included in Note 7 to the financial statements.\n \n/s/ Ernst & Young LLP\nWe have served as the Company’s auditor since 2009.\n\nSan Jose, California\nNovember 1, 2024\nApple Inc. | 2024 Form 10-K | 49\n\n\nReport of Independent Registered Public Accounting Firm\nTo the Shareholders and the Board of Directors of Apple Inc.\nOpinion on Internal Control Over Financial Reporting\nWe have audited Apple Inc.’s internal control over financial reporting as of September 28, 2024, based on criteria established in Internal Control – Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the “COSO criteria”). In our opinion, Apple Inc. (the “Company”) maintained, in all material respects, effective internal control over financial reporting as of September 28, 2024, based on the COSO criteria.\nWe also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (“PCAOB”), the consolidated balance sheets of the Company as of September 28, 2024 and September 30, 2023, the related consolidated statements of operations, comprehensive income, shareholders’ equity and cash flows for each of the three years in the period ended September 28, 2024, and the related notes and our report dated November 1, 2024 expressed an unqualified opinion thereon.\nBasis for Opinion\nThe Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Management’s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.\nWe conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.\nOur audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.\nDefinition and Limitations of Internal Control Over Financial Reporting\nA company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.\nBecause of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.\n\n\n/s/ Ernst & Young LLP\n\nSan Jose, California\nNovember 1, 2024\nApple Inc. | 2024 Form 10-K | 50\n\nItem 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure\nNone.\nItem 9A. Controls and Procedures\nEvaluation of Disclosure Controls and Procedures\nBased on an evaluation under the supervision and with the participation of the Company’s management, the Company’s principal executive officer and principal financial officer have concluded that the Company’s disclosure controls and procedures as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act were effective as of September 28, 2024 to provide reasonable assurance that information required to be disclosed by the Company in reports that it files or submits under the Exchange Act is (i) recorded, processed, summarized and reported within the time periods specified in the SEC rules and forms and (ii) accumulated and communicated to the Company’s management, including its principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.\nInherent Limitations over Internal Controls\nThe Company’s internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with GAAP. The Company’s internal control over financial reporting includes those policies and procedures that: \n(i)pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the Company’s assets;\n(ii)provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that the Company’s receipts and expenditures are being made only in accordance with authorizations of the Company’s management and directors; and\n(iii)provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the Company’s assets that could have a material effect on the financial statements.\nManagement, including the Company’s Chief Executive Officer and Chief Financial Officer, does not expect that the Company’s internal controls will prevent or detect all errors and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of internal controls can provide absolute assurance that all control issues and instances of fraud, if any, have been detected. Also, any evaluation of the effectiveness of controls in future periods are subject to the risk that those internal controls may become inadequate because of changes in business conditions, or that the degree of compliance with the policies or procedures may deteriorate.\nManagement’s Annual Report on Internal Control over Financial Reporting\nThe Company’s management is responsible for establishing and maintaining adequate internal control over financial reporting (as defined in Rule 13a-15(f) under the Exchange Act). Management conducted an assessment of the effectiveness of the Company’s internal control over financial reporting based on the criteria set forth in Internal Control – Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework). Based on the Company’s assessment, management has concluded that its internal control over financial reporting was effective as of September 28, 2024 to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements in accordance with GAAP. The Company’s independent registered public accounting firm, Ernst & Young LLP, has issued an audit report on the Company’s internal control over financial reporting, which appears in Part II, Item 8 of this Form 10-K.\nChanges in Internal Control over Financial Reporting\nThere were no changes in the Company’s internal control over financial reporting during the fourth quarter of 2024, which were identified in connection with management’s evaluation required by paragraph (d) of Rules 13a-15 and 15d-15 under the Exchange Act, that have materially affected, or are reasonably likely to materially affect, the Company’s internal control over financial reporting.\nApple Inc. | 2024 Form 10-K | 51\n\nItem 9B. Other Information\nInsider Trading Arrangements\nOn August 27, 2024, Deirdre O’Brien, the Company’s Senior Vice President, Retail, entered into a trading plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act. The plan provides for the sale, subject to certain price limits, of shares vesting between April 1, 2025 and October 1, 2026, pursuant to certain equity awards granted to Ms. O’Brien, excluding any shares withheld by the Company to satisfy income tax withholding and remittance obligations. Ms. O’Brien’s plan will expire on December 31, 2026, subject to early termination in accordance with the terms of the plan.\nOn August 29, 2024, Jeff Williams, the Company’s Chief Operating Officer, entered into a trading plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act. The plan provides for the sale, subject to certain price limits, of up to 100,000 shares of common stock, as well as shares vesting between April 1, 2025 and October 1, 2025, pursuant to certain equity awards granted to Mr. Williams, excluding any shares withheld by the Company to satisfy income tax withholding and remittance obligations. Mr. Williams’ plan will expire on December 15, 2025, subject to early termination in accordance with the terms of the plan.\nItem 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections\nNot applicable.\nPART III\nItem 10. Directors, Executive Officers and Corporate Governance\nThe Company has an insider trading policy governing the purchase, sale and other dispositions of the Company’s securities that applies to all Company personnel, including directors, officers, employees, and other covered persons. The Company also follows procedures for the repurchase of its securities. The Company believes that its insider trading policy and repurchase procedures are reasonably designed to promote compliance with insider trading laws, rules and regulations, and listing standards applicable to the Company. A copy of the Company’s insider trading policy is filed as Exhibit 19.1 to this Form 10-K.\nThe remaining information required by this Item will be included in the Company’s definitive proxy statement to be filed with the SEC within 120 days after September 28, 2024, in connection with the solicitation of proxies for the Company’s 2025 annual meeting of shareholders (the “2025 Proxy Statement”), and is incorporated herein by reference.\nItem 11. Executive Compensation\nThe information required by this Item will be included in the 2025 Proxy Statement, and is incorporated herein by reference.\nItem 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters\nThe information required by this Item will be included in the 2025 Proxy Statement, and is incorporated herein by reference.\nItem 13. Certain Relationships and Related Transactions, and Director Independence\nThe information required by this Item will be included in the 2025 Proxy Statement, and is incorporated herein by reference.\nItem 14. Principal Accountant Fees and Services\nThe information required by this Item will be included in the 2025 Proxy Statement, and is incorporated herein by reference.\nApple Inc. | 2024 Form 10-K | 52\n\nPART IV\nItem 15. Exhibit and Financial Statement Schedules\n(a)Documents filed as part of this report\n(1)All financial statements\nIndex to Consolidated Financial Statements\t\tPage\nConsolidated Statements of Operations for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n29\nConsolidated Statements of Comprehensive Income for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n30\nConsolidated Balance Sheets as of September 28, 2024 and September 30, 2023\n31\nConsolidated Statements of Shareholders’ Equity for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n32\nConsolidated Statements of Cash Flows for the years ended September 28, 2024, September 30, 2023 and September 24, 2022\n33\nNotes to Consolidated Financial Statements\n34\nReports of Independent Registered Public Accounting Firm*\n48\n \n*Ernst & Young LLP, PCAOB Firm ID No. 00042.\n(2)Financial Statement Schedules\nAll financial statement schedules have been omitted, since the required information is not applicable or is not present in amounts sufficient to require submission of the schedule, or because the information required is included in the consolidated financial statements and accompanying notes included in this Form 10-K.\n(3)Exhibits required by Item 601 of Regulation S-K (1)\nIncorporated by Reference\nExhibit Number\t\tExhibit Description\t\tForm\t\tExhibit\t\tFiling Date/\nPeriod End Date\n3.1\t\t\nRestated Articles of Incorporation of the Registrant filed on August 3, 2020.\n8-K\t\t3.1\t\t8/7/20\n3.2\t\t\nAmended and Restated Bylaws of the Registrant effective as of August 20, 2024.\n8-K\t\t3.2\t\t\n8/23/24\n4.1**\t\t\nDescription of Securities of the Registrant.\n4.2\t\t\nIndenture, dated as of April 29, 2013, between the Registrant and The Bank of New York Mellon Trust Company, N.A., as Trustee.\nS-3\t\t4.1\t\t4/29/13\n4.3\t\t\nOfficer’s Certificate of the Registrant, dated as of May 3, 2013, including forms of global notes representing the Floating Rate Notes due 2016, Floating Rate Notes due 2018, 0.45% Notes due 2016, 1.00% Notes due 2018, 2.40% Notes due 2023 and 3.85% Notes due 2043.\n8-K\t\t4.1\t\t5/3/13\n4.4\t\t\nOfficer’s Certificate of the Registrant, dated as of May 6, 2014, including forms of global notes representing the Floating Rate Notes due 2017, Floating Rate Notes due 2019, 1.05% Notes due 2017, 2.10% Notes due 2019, 2.85% Notes due 2021, 3.45% Notes due 2024 and 4.45% Notes due 2044.\n8-K\t\t4.1\t\t5/6/14\n4.5\t\t\nOfficer’s Certificate of the Registrant, dated as of November 10, 2014, including forms of global notes representing the 1.000% Notes due 2022 and 1.625% Notes due 2026.\n8-K\t\t4.1\t\t11/10/14\n4.6\t\t\nOfficer’s Certificate of the Registrant, dated as of February 9, 2015, including forms of global notes representing the Floating Rate Notes due 2020, 1.55% Notes due 2020, 2.15% Notes due 2022, 2.50% Notes due 2025 and 3.45% Notes due 2045.\n8-K\t\t4.1\t\t2/9/15\n4.7\t\t\nOfficer’s Certificate of the Registrant, dated as of May 13, 2015, including forms of global notes representing the Floating Rate Notes due 2017, Floating Rate Notes due 2020, 0.900% Notes due 2017, 2.000% Notes due 2020, 2.700% Notes due 2022, 3.200% Notes due 2025, and 4.375% Notes due 2045.\n8-K\t\t4.1\t\t5/13/15\n4.8\t\t\nOfficer’s Certificate of the Registrant, dated as of July 31, 2015, including forms of global notes representing the 3.05% Notes due 2029 and 3.60% Notes due 2042.\n8-K\t\t4.1\t\t7/31/15\n4.9\t\t\nOfficer’s Certificate of the Registrant, dated as of September 17, 2015, including forms of global notes representing the 1.375% Notes due 2024 and 2.000% Notes due 2027.\n8-K\t\t4.1\t\t9/17/15\n \nApple Inc. | 2024 Form 10-K | 53\n\nIncorporated by Reference\nExhibit Number\t\tExhibit Description\t\tForm\t\tExhibit\t\tFiling Date/\nPeriod End Date\n4.10\t\t\nOfficer’s Certificate of the Registrant, dated as of February 23, 2016, including forms of global notes representing the Floating Rate Notes due 2019, Floating Rate Notes due 2021, 1.300% Notes due 2018, 1.700% Notes due 2019, 2.250% Notes due 2021, 2.850% Notes due 2023, 3.250% Notes due 2026, 4.500% Notes due 2036 and 4.650% Notes due 2046.\n8-K\t\t4.1\t\t2/23/16\n4.11\t\t\nSupplement No. 1 to the Officer’s Certificate of the Registrant, dated as of March 24, 2016.\n8-K\t\t4.1\t\t3/24/16\n4.12\t\t\nOfficer’s Certificate of the Registrant, dated as of August 4, 2016, including forms of global notes representing the Floating Rate Notes due 2019, 1.100% Notes due 2019, 1.550% Notes due 2021, 2.450% Notes due 2026 and 3.850% Notes due 2046.\n8-K\t\t4.1\t\t8/4/16\n4.13\t\t\nOfficer’s Certificate of the Registrant, dated as of February 9, 2017, including forms of global notes representing the Floating Rate Notes due 2019, Floating Rate Notes due 2020, Floating Rate Notes due 2022, 1.550% Notes due 2019, 1.900% Notes due 2020, 2.500% Notes due 2022, 3.000% Notes due 2024, 3.350% Notes due 2027 and 4.250% Notes due 2047.\n8-K\t\t4.1\t\t2/9/17\n4.14\t\t\nOfficer’s Certificate of the Registrant, dated as of May 11, 2017, including forms of global notes representing the Floating Rate Notes due 2020, Floating Rate Notes due 2022, 1.800% Notes due 2020, 2.300% Notes due 2022, 2.850% Notes due 2024 and 3.200% Notes due 2027.\n8-K\t\t4.1\t\t5/11/17\n4.15\t\t\nOfficer’s Certificate of the Registrant, dated as of May 24, 2017, including forms of global notes representing the 0.875% Notes due 2025 and 1.375% Notes due 2029.\n8-K\t\t4.1\t\t5/24/17\n4.16\t\t\nOfficer’s Certificate of the Registrant, dated as of June 20, 2017, including form of global note representing the 3.000% Notes due 2027.\n8-K\t\t4.1\t\t6/20/17\n4.17\nOfficer’s Certificate of the Registrant, dated as of September 12, 2017, including forms of global notes representing the 1.500% Notes due 2019, 2.100% Notes due 2022, 2.900% Notes due 2027 and 3.750% Notes due 2047.\n8-K\t\t4.1\t\t9/12/17\n4.18\nOfficer’s Certificate of the Registrant, dated as of November 13, 2017, including forms of global notes representing the 1.800% Notes due 2019, 2.000% Notes due 2020, 2.400% Notes due 2023, 2.750% Notes due 2025, 3.000% Notes due 2027 and 3.750% Notes due 2047.\n8-K\t\t4.1\t\t11/13/17\n4.19\nIndenture, dated as of November 5, 2018, between the Registrant and The Bank of New York Mellon Trust Company, N.A., as Trustee.\nS-3\t\t4.1\t\t11/5/18\n4.20\nOfficer’s Certificate of the Registrant, dated as of September 11, 2019, including forms of global notes representing the 1.700% Notes due 2022, 1.800% Notes due 2024, 2.050% Notes due 2026, 2.200% Notes due 2029 and 2.950% Notes due 2049.\n8-K\t\t4.1\t\t9/11/19\n4.21\nOfficer’s Certificate of the Registrant, dated as of November 15, 2019, including forms of global notes representing the 0.000% Notes due 2025 and 0.500% Notes due 2031.\n8-K\t\t4.1\t\t11/15/19\n4.22\nOfficer’s Certificate of the Registrant, dated as of May 11, 2020, including forms of global notes representing the 0.750% Notes due 2023, 1.125% Notes due 2025, 1.650% Notes due 2030 and 2.650% Notes due 2050.\n8-K\t\t4.1\t\t5/11/20\n4.23\nOfficer’s Certificate of the Registrant, dated as of August 20, 2020, including forms of global notes representing the 0.550% Notes due 2025, 1.25% Notes due 2030, 2.400% Notes due 2050 and 2.550% Notes due 2060.\n8-K\t\t4.1\t\t8/20/20\n4.24\nOfficer’s Certificate of the Registrant, dated as of February 8, 2021, including forms of global notes representing the 0.700% Notes due 2026, 1.200% Notes due 2028, 1.650% Notes due 2031, 2.375% Notes due 2041, 2.650% Notes due 2051 and 2.800% Notes due 2061.\n8-K\t\t4.1\t\t2/8/21\n4.25\nOfficer’s Certificate of the Registrant, dated as of August 5, 2021, including forms of global notes representing the 1.400% Notes due 2028, 1.700% Notes due 2031, 2.700% Notes due 2051 and 2.850% Notes due 2061.\n8-K\t\t4.1\t\t8/5/21\n4.26\nIndenture, dated as of October 28, 2021, between the Registrant and The Bank of New York Mellon Trust Company, N.A., as Trustee.\nS-3\t\t4.1\t\t10/29/21\n4.27\nOfficer’s Certificate of the Registrant, dated as of August 8, 2022, including forms of global notes representing the 3.250% Notes due 2029, 3.350% Notes due 2032, 3.950% Notes due 2052 and 4.100% Notes due 2062.\n8-K\t\t4.1\t\t8/8/22\n \nApple Inc. | 2024 Form 10-K | 54\n\nIncorporated by Reference\nExhibit Number\t\tExhibit Description\t\tForm\t\tExhibit\t\tFiling Date/\nPeriod End Date\n4.28\nOfficer’s Certificate of the Registrant, dated as of May 10, 2023, including forms of global notes representing the 4.421% Notes due 2026, 4.000% Notes due 2028, 4.150% Notes due 2030, 4.300% Notes due 2033 and 4.850% Notes due 2053.\n8-K\t\t4.1\t\t5/10/23\n4.29*\nApple Inc. Deferred Compensation Plan.\nS-8\t\t4.1\t\t8/23/18\n10.1*\t\t\nApple Inc. Employee Stock Purchase Plan, as amended and restated as of March 10, 2015.\n8-K\t\t10.1\t\t3/13/15\n10.2*\t\t\nForm of Indemnification Agreement between the Registrant and each director and executive officer of the Registrant.\n10-Q\t\t10.2\t\t6/27/09\n10.3*\t\t\nApple Inc. Non-Employee Director Stock Plan, as amended November 9, 2021.\n10-Q\t\t10.1\t\t12/25/21\n10.4*\t\t\nApple Inc. 2014 Employee Stock Plan, as amended and restated as of October 1, 2017.\n10-K\t\t10.8\t\t9/30/17\n10.5*\t\t\nForm of Restricted Stock Unit Award Agreement under 2014 Employee Stock Plan effective as of September 26, 2017.\n10-K\t\t10.20\t\t9/30/17\n10.6*\nForm of Restricted Stock Unit Award Agreement under Non-Employee Director Stock Plan effective as of February 13, 2018.\n10-Q\n10.2\n3/31/18\n10.7*\nForm of Restricted Stock Unit Award Agreement under 2014 Employee Stock Plan effective as of August 21, 2018.\n10-K\t\t10.17\t\t9/29/18\n10.8*\nForm of Restricted Stock Unit Award Agreement under 2014 Employee Stock Plan effective as of September 29, 2019.\n10-K\t\t10.15\t\t9/28/19\n10.9*\nForm of Restricted Stock Unit Award Agreement under 2014 Employee Stock Plan effective as of August 18, 2020.\n10-K\t\t10.16\t\t9/26/20\n10.10*\nForm of Performance Award Agreement under 2014 Employee Stock Plan effective as of August 18, 2020.\n10-K\t\t\n10.17\n9/26/20\n10.11*\nForm of CEO Restricted Stock Unit Award Agreement under 2014 Employee Stock Plan effective as of September 27, 2020.\n10-Q\t\t10.1\t\t12/26/20\n10.12*\nForm of CEO Performance Award Agreement under 2014 Employee Stock Plan effective as of September 27, 2020.\n10-Q\t\t\n10.2\n12/26/20\n10.13*\nApple Inc. 2022 Employee Stock Plan.\n8-K\t\t10.1\t\t3/4/22\n10.14*\nForm of Restricted Stock Unit Award Agreement under 2022 Employee Stock Plan effective as of March 4, 2022.\n8-K\t\t10.2\t\t3/4/22\n10.15*\nForm of Performance Award Agreement under 2022 Employee Stock Plan effective as of March 4, 2022.\n8-K\t\t10.3\t\t3/4/22\n10.16*\nApple Inc. Executive Cash Incentive Plan.\n8-K\t\t10.1\t\t8/19/22\n10.17*\nForm of CEO Restricted Stock Unit Award Agreement under 2022 Employee Stock Plan effective as of September 25, 2022.\n10-Q\t\t10.1\t\t12/31/22\n10.18*\nForm of CEO Performance Award Agreement under 2022 Employee Stock Plan effective as of September 25, 2022.\n10-Q\t\t10.2\t\t12/31/22\n10.19*, **\nForm of Restricted Stock Unit Award Agreement under 2022 Employee Stock Plan effective as of September 29, 2024.\n10.20*, **\nForm of Performance Award Agreement under 2022 Employee Stock Plan effective as of September 29, 2024.\n10.21*, **\nForm of CEO Restricted Stock Unit Award Agreement under 2022 Employee Stock Plan effective as of September 29, 2024.\n10.22*, **\nForm of CEO Performance Award Agreement under 2022 Employee Stock Plan effective as of September 29, 2024.\n19.1**\nInsider Trading Policy\n21.1**\t\t\nSubsidiaries of the Registrant.\n23.1**\t\t\nConsent of Independent Registered Public Accounting Firm.\n24.1**\t\t\nPower of Attorney (included on the Signatures page of this Annual Report on Form 10-K).\n31.1**\t\t\nRule 13a-14(a) / 15d-14(a) Certification of Chief Executive Officer.\n31.2**\t\t\nRule 13a-14(a) / 15d-14(a) Certification of Chief Financial Officer.\n32.1***\t\t\nSection 1350 Certifications of Chief Executive Officer and Chief Financial Officer.\n97.1*, **\nRule 10D-1 Recovery Policy\n \nApple Inc. | 2024 Form 10-K | 55\n\nIncorporated by Reference\nExhibit Number\t\tExhibit Description\t\tForm\t\tExhibit\t\tFiling Date/\nPeriod End Date\n101**\t\t\nInline XBRL Document Set for the consolidated financial statements and accompanying notes in Part II, Item 8, “Financial Statements and Supplementary Data” of this Annual Report on Form 10-K.\n104**\t\t\nInline XBRL for the cover page of this Annual Report on Form 10-K, included in the Exhibit 101 Inline XBRL Document Set.\n \n*Indicates management contract or compensatory plan or arrangement.\n**Filed herewith.\n***Furnished herewith.\n(1)Certain instruments defining the rights of holders of long-term debt securities of the Registrant are omitted pursuant to Item 601(b)(4)(iii) of Regulation S-K. The Registrant hereby undertakes to furnish to the SEC, upon request, copies of any such instruments.\nItem 16. Form 10-K Summary\nNone.\nApple Inc. | 2024 Form 10-K | 56\n\nSIGNATURES\nPursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.\nDate: November 1, 2024\nApple Inc.\nBy:\t\t/s/ Luca Maestri\nLuca Maestri\nSenior Vice President,\nChief Financial Officer\n \nPower of Attorney\nKNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below constitutes and appoints Timothy D. Cook and Luca Maestri, jointly and severally, his or her attorneys-in-fact, each with the power of substitution, for him or her in any and all capacities, to sign any amendments to this Annual Report on Form 10-K, and to file the same, with exhibits thereto and other documents in connection therewith, with the Securities and Exchange Commission, hereby ratifying and confirming all that each of said attorneys-in-fact, or his substitute or substitutes, may do or cause to be done by virtue hereof.\nPursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant and in the capacities and on the dates indicated:\nName\t\tTitle\t\tDate\n/s/ Timothy D. Cook\t\tChief Executive Officer and Director\n(Principal Executive Officer)\t\tNovember 1, 2024\nTIMOTHY D. COOK\t\t\t\n/s/ Luca Maestri\t\tSenior Vice President, Chief Financial Officer\n(Principal Financial Officer)\t\tNovember 1, 2024\nLUCA MAESTRI\t\t\t\n/s/ Chris Kondo\t\tSenior Director of Corporate Accounting\n(Principal Accounting Officer)\t\tNovember 1, 2024\nCHRIS KONDO\t\t\t\n/s/ Wanda Austin\nDirector\t\tNovember 1, 2024\nWANDA AUSTIN\n/s/ Alex Gorsky\t\tDirector\t\tNovember 1, 2024\nALEX GORSKY\t\t\t\n/s/ Andrea Jung\t\tDirector\t\tNovember 1, 2024\nANDREA JUNG\t\t\t\n/s/ Arthur D. Levinson\t\tDirector and Chair of the Board\t\tNovember 1, 2024\nARTHUR D. LEVINSON\t\t\t\n/s/ Monica Lozano\t\tDirector\t\tNovember 1, 2024\nMONICA LOZANO\t\t\t\n/s/ Ronald D. Sugar\t\tDirector\t\tNovember 1, 2024\nRONALD D. SUGAR\t\t\t\n/s/ Susan L. Wagner\t\tDirector\t\tNovember 1, 2024\nSUSAN L. WAGNER\t\t\t\n \nApple Inc. | 2024 Form 10-K | 57\n' + + + + ```python MAX_LENGTH = 10000 # We limit the input length to avoid token issues with open('../data/apple.txt', 'r') as file: @@ -114,15 +140,19 @@ df_results = generate_responses(model_name="gpt-3.5-turbo", Attempt 3: Apple Inc's Form 10-K provides a comprehensive overview of the company's financial reporting, business operations, products and market information. -This simple experiment reveals a fundamental challenge in LLM evaluation: even a simple parameter like temperature can dramatically alter model behavior in ways that are difficult to systematically assess. At temperature 0.0, responses are consistent but potentially too rigid. At 1.0, outputs become more varied but less predictable. At 2.0, responses can be wildly different and often incoherent. This non-deterministic behavior makes traditional software testing approaches inadequate. - -The implications for evaluation are profound. How can one effectively test an LLM-powered system when the same prompt can yield radically different outputs based on a single parameter? Traditional testing relies on predictable inputs and outputs, but LLMs force us to grapple with probabilistic behavior. While lower temperatures may seem safer for critical applications, they don't eliminate the underlying uncertainty - they merely mask it. This highlights the need for new evaluation paradigms that can handle both deterministic and probabilistic aspects of LLM behavior. +A temperature of 1 represents the unscaled probability scores for each token in the vocabulary. Decreasing the temperature closer to 0 sharpens the distribution, so the most likely token will have an even higher probability score. Conversely, increasing the temperature makes the distribution more uniform {cite}`build-llms-from-scratch-book`: +- Temperature = 0: Most deterministic, but potentially repetitive +- Temperature = 1: Balanced creativity and coherence +- Temperature > 1: Increased randomness, potentially incoherent +How can one effectively test an LLM-powered system when the same prompt can yield radically different outputs based on a single parameter? Traditional testing relies on predictable inputs and outputs, but LLMs force us to grapple with probabilistic behavior. While lower temperatures may seem safer for critical applications, they don't necessarily eliminate the underlying uncertainty. This highlights the need for new evaluation paradigms that can handle both deterministic and probabilistic aspects of LLM behavior. ## Emerging Properties -Beyond their non-deterministic nature, LLMs present another fascinating challenge: emergent abilities that spontaneously arise as models scale up in size. These abilities - from basic question answering to complex reasoning - aren't explicitly programmed but rather emerge "naturally" as the models grow larger and are trained on more data. This makes evaluation fundamentally different from traditional software testing, where capabilities are explicitly coded and can be tested against clear specifications. +Beyond their non-deterministic nature, LLMs present another fascinating characteristic: emergent abilities that spontaneously arise as models scale up in size. These abilities - from basic question answering to complex reasoning - aren't explicitly programmed but rather emerge "naturally" as the models grow larger and are trained on more data. This makes evaluation fundamentally different from traditional software testing, where capabilities are explicitly coded and can be tested against pre-defined specifications. + +{numref}`emerging-properties` provides a list of emergent abilities of large language models and the scale {cite}`wei2022emergentabilitieslargelanguage`. The relationship between model scale and emergent abilities follows a fascinating non-linear pattern. Below certain size thresholds, specific abilities may be completely absent from the model - it simply cannot perform certain tasks, no matter how much you try to coax them out. However, once the model reaches critical points in its scaling journey, these abilities can suddenly manifest in what researchers call a phase transition - a dramatic shift from inability to capability. This unpredictable emergence of capabilities stands in stark contrast to traditional software development, where features are deliberately implemented and can be systematically tested. ```{figure} ../_static/evals/emerging.png --- @@ -135,25 +165,25 @@ align: center Emergent abilities of large language models and the scale {cite}`wei2022emergentabilitieslargelanguage`. ``` - {numref}`emerging-properties` provides a list of emergent abilities of large language models and the scale. The relationship between model scale and emergent abilities follows a fascinating non-linear pattern. Below certain size thresholds, specific abilities may be completely absent from the model - it simply cannot perform certain tasks, no matter how much you try to coax them out. However, once the model reaches critical points in its scaling journey, these abilities can suddenly manifest in what researchers call a phase transition - a dramatic shift from inability to capability. This unpredictable emergence of capabilities stands in stark contrast to traditional software development, where features are deliberately implemented and can be systematically tested. - -The implications for evaluation are profound. While conventional software testing relies on stable test suites and well-defined acceptance criteria, LLM evaluation must contend with a constantly shifting landscape of capabilities. What worked to evaluate a 7B parameter model may be completely inadequate for a 70B parameter model that has developed new emergent abilities. This dynamic nature of LLM capabilities forces us to fundamentally rethink our approach to testing and evaluation. +The implications for evaluation are critical. While conventional software testing relies on stable test suites and well-defined acceptance criteria, LLM evaluation must contend with a constantly shifting landscape of capabilities. What worked to evaluate a 7B parameter model may be completely inadequate for a 70B parameter model that has developed new emergent abilities. This dynamic nature of LLM capabilities forces us to fundamentally rethink our approach to testing and evaluation. ## Problem Statement -Consider a practical example that illustrates these challenges: building a customer support chatbot powered by an LLM. In traditional software development, you would define specific features (like handling refund requests or tracking orders) and write tests to verify each function. But with LLMs, you're not just testing predefined features - you're trying to evaluate emergent capabilities like understanding context, maintaining conversation coherence, and generating appropriate emotional responses. +Consider a practical example that illustrates these challenges: building a Math AI tutoring system for children powered by an LLM. In traditional software development, you would define specific features (like presenting math problems or checking answers) and write tests to verify each function. But with LLMs, you're not just testing predefined features - you're trying to evaluate emergent capabilities like adapting explanations to a child's level, maintaining engagement through conversational learning, and providing age-appropriate safety-bound content. This fundamental difference raises critical questions about evaluation: - How do we measure capabilities that weren't explicitly programmed? - How can we ensure consistent performance when abilities may suddenly emerge or evolve? - What metrics can capture both the technical accuracy and the subjective quality of responses? -The challenge becomes even more complex when we consider that traditional software evaluation methods simply weren't designed for these kinds of systems. We need new frameworks that can account for both the deterministic aspects we're used to testing and the emergent properties that make LLMs unique. Let's explore how LLM evaluation differs from traditional software testing across several key dimensions: -- **Capability Assessment vs Functional Testing**: Traditional software testing validates specific functionality against predefined requirements. LLM evaluation must assess not necessiraly pre-defined "emergent properties" like reasoning, creativity, and language understanding that extend beyond explicit programming. +The challenge becomes even more complex when we consider that traditional software evaluation methods simply weren't designed for these kinds of systems. There is an **Evals Gap** between traditional software testing and LLM evaluation. We need new frameworks that can account for both the deterministic aspects we're used to testing and the emergent properties that make LLMs unique. -- **Metrics and Measurement Challenges**: While traditional software metrics can usually be precisely defined and measured, LLM evaluation often involves subjective qualities like "helpfulness" or "naturalness" that resist straightforward quantification. Even when we try to break these down into numeric scores, the underlying judgment remains inherently human and context-dependent. +{numref}`evals-table` summarizes how LLM evaluation differs from traditional software testing across several key dimensions: +- **Capability Assessment vs Functional Testing**: Traditional software testing validates specific functionality against predefined requirements. LLM evaluation must assess not necessarily pre-defined behavior but also "emergent properties" like reasoning, creativity, and language understanding that extend beyond explicit programming. -- **Dataset Contamination**: Traditional software testing uses carefully crafted test cases with known inputs and expected outputs (e.g., unit tests, integration tests). In contrast, LLMs trained on massive internet-scale datasets risk having already seen and memorized evaluation examples during training, which can lead to artificially inflated performance scores. This requires careful dataset curation to ensure test sets are truly unseen by the model and rigorous cross-validation approaches. +- **Metrics and Measurement Challenges**: While traditional software metrics can usually be precisely defined and measured, LLM evaluation often involves subjective qualities like "helpfulness" or "naturalness" that resist straightforward quantification. Even when we try to break these down into numeric scores, the underlying judgment often remains inherently human and context-dependent. + +- **Dataset Contamination**: Traditional software testing uses carefully crafted test cases with known inputs and expected outputs (e.g., unit tests). In contrast, LLMs trained on massive internet-scale datasets risk having already seen and memorized evaluation examples during training, which can lead to artificially inflated performance scores. This requires careful dataset curation to ensure test sets are truly unseen by the model and rigorous cross-validation approaches. - **Benchmark Evolution**: Traditional software maintains stable test suites over time. LLM benchmarks continuously evolve as capabilities advance, making longitudinal performance comparisons difficult and potentially obsoleting older evaluation methods. @@ -172,16 +202,39 @@ The challenge becomes even more complex when we consider that traditional softwa ## Evals Design -First, it's important to make a distinction between evaluating an LLM versus evaluating an LLM-based application (our focus). While the latter offers foundation capabilities and are typically general-purpose, the former is more specific and tailored to a particular use case. Here, we define an LLM-based application as a system that uses one or more LLMs to perform a specific task. More specifically, an LLM-based application is the combination of one or more LLM models, their associated prompts and parameters to solve a particular business problem. +First, it's important to make a distinction between evaluating an LLM versus evaluating an LLM-based application. While the former offers foundation capabilities and are typically general-purpose, the latter is more specific and tailored to a particular use case. Here, we define an LLM-based application as a system that uses one or more LLMs to perform a specific task. More specifically, an LLM-based application is the combination of one or more LLM models, their associated prompts and parameters to solve a particular business problem. + +That differentiation is important because it changes the scope of evaluation. LLMs are usually evaluated based on their capabilities, which include things like language understanding, reasoning and knowledge. LLM-based applications, instead, should be evaluated based on their end-to-end functionality, performance, and how well they meet business requirements. That distinction has key implications for the design of evaluation systems: + +- The same LLM can yield different results in different applications +- Evaluation must align with business objectives +- A great LLM doesn't guarantee a great application! + +Examples of key requirements for validation are listed in {numref}`validation-requirements` ranging from Safety, Cognitive, Technical, Meta-Cognitive, to Ethical aspects. + +```{table} LLM Application Testing Requirements Matrix +:name: validation-requirements +| Category | Requirement | What to Test | Why It's Important | +|----------|------------|--------------|-------------------| +| Safety | Misinformation Prevention | - Accuracy of factual statements against verified databases
    - Consistency of responses across similar queries
    - Rate of fabricated details or hallucinations
    - Citation and source accuracy
    - Response behavior with uncertainty
    - Temporal consistency
    - Scientific accuracy | - Prevents real-world harm from false information
    - Maintains user trust
    - Reduces legal and reputational risks
    - Ensures reliable decision-making support
    - Protects against information manipulation | +| Safety | Unqualified Advice | - Recognition of medical, legal, and financial queries
    - Disclaimer consistency
    - Professional referral mechanisms
    - Boundary recognition
    - Emergency situation handling
    - Avoidance of specific recommendations | - Prevents harm from incorrect professional advice
    - Reduces legal liability
    - Protects vulnerable users
    - Maintains professional standards
    - Ensures appropriate expertise utilization | +| Safety | Bias Detection | - Gender, racial, and cultural bias
    - Demographic representation
    - Language inclusivity
    - Stereotype avoidance
    - Problem-solving fairness
    - Cultural context awareness | - Prevents reinforcement of societal biases
    - Ensures equal service quality
    - Maintains social responsibility
    - Protects brand reputation
    - Supports diverse user bases | +| Safety | Privacy Protection | - PII detection and handling
    - Data anonymization
    - Information leakage prevention
    - Context carryover management
    - Compliance with regulations
    - Security protocols | - Protects user confidentiality
    - Ensures regulatory compliance
    - Maintains data security
    - Prevents privacy breaches
    - Safeguards sensitive information | +| Cognitive | Reasoning & Logic | - Multi-step problem-solving
    - Mathematical computation
    - Logical fallacy detection
    - Causal reasoning
    - Abstract concept handling
    - Edge case management | - Ensures reliable problem-solving
    - Maintains computational accuracy
    - Supports critical thinking
    - Prevents logical errors
    - Enables complex decision support | +| Cognitive | Language Understanding | - Context maintenance
    - Idiom comprehension
    - Cultural reference accuracy
    - Sarcasm detection
    - Technical terminology
    - Cross-lingual capability | - Ensures effective communication
    - Prevents misunderstandings
    - Enables sophisticated interactions
    - Supports diverse language needs
    - Maintains conversation quality | +| Technical | Code Generation | - Syntax accuracy
    - Security vulnerability scanning
    - Performance optimization
    - Documentation quality
    - Error handling
    - Cross-platform compatibility | - Ensures code reliability
    - Prevents security issues
    - Maintains system stability
    - Supports development efficiency
    - Reduces technical debt | +| Technical | System Integration | - API handling
    - Rate limit compliance
    - Error management
    - Response time
    - Resource utilization
    - Scalability testing | - Ensures system reliability
    - Maintains performance
    - Enables scaling
    - Prevents system failures
    - Supports integration stability | +| Meta-Cognitive | Self-Awareness | - Knowledge limitation recognition
    - Uncertainty communication
    - Correction capabilities
    - Feedback integration
    - Edge case recognition
    - Error acknowledgment | - Builds user trust
    - Prevents overconfidence
    - Enables appropriate use
    - Supports improvement
    - Maintains reliability | +| Meta-Cognitive | Communication Quality | - Message clarity
    - Audience appropriateness
    - Information density
    - Explanation quality
    - Summary accuracy
    - Technical communication | - Ensures understanding
    - Maintains engagement
    - Enables knowledge transfer
    - Builds user satisfaction
    - Supports effective interaction | +| Ethical | Harmful Content | - Harmful request recognition
    - Response appropriateness
    - Content filtering
    - Emergency handling
    - User safety protocols
    - Incident reporting | - Protects user safety
    - Prevents misuse
    - Maintains ethical standards
    - Reduces liability
    - Ensures responsible use | +| Ethical | Decision-Making | - Moral consistency
    - Value alignment
    - Decision fairness
    - Transparency
    - Impact assessment
    - Stakeholder consideration | - Ensures ethical deployment
    - Maintains standards
    - Builds trust
    - Supports values
    - Prevents harmful impacts | +| Environmental | CO2 Emission | - Energy consumption per request
    - Model size and complexity impact
    - Server location and energy sources
    - Request caching efficiency
    - Batch processing optimization
    - Hardware utilization rates
    - Inference optimization strategies | - Reduces environmental impact
    - Supports sustainability goals
    - Optimizes operational costs
    - Meets environmental regulations
    - Demonstrates corporate responsibility | +``` + -That differentiation is important because it changes the scope of evaluation. LLMs are usually evaluated based on their capabilities, which include things like language understanding, reasoning and knowledge. LLM-based applications are evaluated based on their end-to-end functionality, performance, and how well they meet business requirements. That distinction has key implications for the design of evaluation systems: -1. Application requirements are closely tied to LLM evaluations -2. The same LLM can yield different results in different applications -3. Evaluation must align with business objectives -4. A great LLM doesn't guarantee a great application! -#### Conceptual Overview +### Conceptual Overview {numref}`conceptual` demonstrates a conceptual design of key components of LLM Application evaluation. @@ -196,6 +249,7 @@ Conceptual overview of LLM-based application evaluation. ``` We observe three key components: + **1. Examples (Input Dataset):** - Input: Query to LLM App, e.g. user message, input file, image, audio, etc. - Output: A reference expected outcome from the LLM application. Provide ground truth for comparison (*Optional*). @@ -219,7 +273,7 @@ We observe three key components: * Measures LLM Application performance across defined metrics * Applies standardized scoring criteria -Note that Examples must provide input data to the LLM Application for further evaluation. However, ground truth data is optional. We will return to this in more detail below, where we will see that ground truth data is not always available or practical. Additionally, there are approaches where one can evaluate LLM Applications without ground truth data. +Note that **Examples** must provide input data to the LLM Application for further evaluation. However, ground truth data is optional. We will return to this in more detail below, where we will see that ground truth data is not always available or practical. Additionally, there are approaches where one can evaluate LLM Applications without ground truth data. A more general conceptual design is shown in {numref}`conceptual-multi`, where multiple LLM Applications are evaluated. This design allows for a more comprehensive evaluation of different configurations of LLM-based applications, e.g.: @@ -237,6 +291,7 @@ Conceptual overview of Multiple LLM-based applications evaluation. ``` In this evaluation framework, the same inputs are provided to all LLM applications, ensuring that responses are evaluated consistently. Performance is quantified objectively for each LLM Application, and results are ranked for easy comparison. This design leads to two additional components: + **1. Scores (Metrics Layer):** - Input: Evaluation results from Evaluator - Output: Quantified performance metrics @@ -252,9 +307,9 @@ In this evaluation framework, the same inputs are provided to all LLM applicatio * Aggregates and ranks performances across LLM applications -#### Design Considerations +### Design Considerations -The design of an LLM application evaluation system depends heavily on the specific use case and business requirements. Here we list important questions for planning an LLM application evaluation system pertaining to each of the key components previously discussed: +The design of an LLM application evaluation system depends heavily on the specific use case and business requirements. Here we list important questions for planning an LLM application evaluation system pertaining to each of the key components previously introduced: **1. Examples (Input Dataset):** - What types of examples should be included in the test set? @@ -267,7 +322,7 @@ The design of an LLM application evaluation system depends heavily on the specif - Should we have separate test sets for different business requirements? - Do we need human-validated ground truth for all examples? - Can we use synthetic data to augment the test set? -- How can business updates be reflected in the dataset post-launch? +- How can business updates and user data be reflected in the dataset post-launch? **2. LLM Applications:** - What aspects of each LLM app should be standardized for fair comparison? @@ -303,21 +358,21 @@ The design of an LLM application evaluation system depends heavily on the specif - How to handle ties or very close scores? - Should we maintain separate rankings for different: * Business requirements - * Cost tiers - * LLM Models + * Model Cost Tiers + * LLM Model Families -Hollistically, you evaluation design should be built with scalability in mind to handle growing evaluation needs as the combination of (Example X LLM Applications X Evaluators X Scores X Leaderboards) may grow very fast, particularly for an organization that promotes rapid experimentation and iterative development (good properties!). Finally, one should keep in mind that the evaluation system itself requires validation to confirm its accuracy and reliability vis-a-vis the business requirements! +Holistically, your evaluation design should be built with scalability in mind to handle growing evaluation needs as the combination of (Input Examples X LLM Applications X Evaluators X Scores X Leaderboards) may grow very fast, particularly for an organization that promotes rapid experimentation and iterative development (good properties!). Finally, one should keep in mind that the evaluation system itself requires validation to confirm its accuracy and reliability vis-a-vis business requirements (evaluating evaluators will be later discussed in this Chapter). ## Metrics -The choice of metric depends on the specific task and desired evaluation criteria. However, one can categorize metrics into two broad categories: **intrinsic** and **extrinsic**: +The choice of metric depends on the specific task and desired evaluation criteria. However, one can categorize metrics into two broad categories: **intrinsic** and **extrinsic**. * **Intrinsic metrics** focus on the model's performance on its primary training objective, which is typically to predict the next token in a sequence. Perplexity is a common intrinsic metric that measures how well the model predicts a given sample of text. -* **Extrinsic metrics** assess the model's performance on various downstream tasks, which can range from question answering to code generation. These metrics are not directly tied to the training objective, but they provide valuable insights into the model's ability to generalise to real-world applications. +* **Extrinsic metrics** assess the model's performance on various downstream tasks, which can range from question answering to code generation. These metrics are not directly tied to the training objective, but they provide valuable insights into the model's ability to generalize to real-world applications. -Here, we are particularly interested in extrinsic metrics, since we are evaluating LLM-based applications. +Here, we are particularly interested in extrinsic metrics, since we are evaluating LLM-based applications rather than base LLM models. Another way to think about metrics is in terms of the type of the task we evaluate: 1. **Discriminative Task**: @@ -327,9 +382,9 @@ Another way to think about metrics is in terms of the type of the task we evalua - Involves creating or producing new data or outputs. - Examples: Text generation, image synthesis, or summarization. -For discriminative LLM-based applications may produce log-probabilities or discrete predictions, traditional machine learning metrics like accuracy, precision, recall, and F1 score can be applied. However, generative tasks may output text or images which require different evaluation approaches. +For discriminative tasks, LLM-based applications may produce log-probabilities or discrete predictions, traditional machine learning metrics like accuracy, precision, recall, and F1 score can be applied. However, generative tasks may output text or images which require different evaluation approaches. -For generative tasks, a range of specialized metrics should be considered. These include match-based metrics such as exact match and prefix match, as well as metrics designed specifically for tasks like summarization and translation, including ROUGE, BLEU, and character n-gram comparisons. The selection of appropriate metrics should align with the specific requirements and characteristics of the task being evaluated. A detailed discussion of metric selection guidelines will be provided in a subsequent section. +For generative tasks, a range of specialized metrics should be considered. These include match-based metrics such as exact match and prefix match, as well as metrics designed specifically for tasks like summarization and translation, including ROUGE, BLEU, and character n-gram comparisons. The selection of appropriate metrics should align with the specific requirements and characteristics of the task being evaluated. In {numref}`key-metrics` we provide a short list of widely used extrinsic metrics that can be used to evaluate generative tasks of LLM-based applications, along with their definitions, use cases, and limitations. @@ -348,14 +403,14 @@ In {numref}`key-metrics` we provide a short list of widely used extrinsic metric ``` A common use case for metrics like BLEU and ROUGE is to evaluate the quality of generated summaries against reference summaries. -As an example, we will demonstrate how to evaluate the quality of SEC Filings summaries against reference summaries (e.g. analyst-prepared highlights). +As an example, we will demonstrate how to evaluate the quality of Financial Filings summaries against reference summaries (e.g. analyst-prepared highlights). We will model our simple metrics-based evaluator with the following components: - Input: Generated summary and reference summary - Output: Dictionary with scores for BLEU, ROUGE_1, and ROUGE_2 -- Purpose: Evaluate our LLM-based application - SEC filing summary generator +- Purpose: Evaluate our LLM-based application - Financial Filings summary generator -A *Reference Summary* represents the "ideal" summary. It could be prepared by humanas, e.g. expert analysts, or machine-generated. +A *Reference Summary* represents the "ideal" summary. It could be prepared by humans, e.g. expert analysts, or machine-generated. In our example, we are particularly interested in evaluating the quality of summaries generated by different (smaller and cheaper) LLM models compared to a *benchmark model* (larger and more expensive). We will use the following setup: - Benchmark model: `gpt-4o` @@ -478,7 +533,7 @@ def evaluate_summary_models(model_benchmark, models_test, input): return [evaluation_results, model_summaries, benchmark_summary] ``` -Now, we are ready to run our benchmark evaluation. We define a benchmark model and a list of test models and then evaluate each test model's summary against the benchmark. We also print the generated summaries for each model. +We are ready to run our benchmark evaluation. We define a benchmark model and a list of test models and then evaluate each test model's summary against the benchmark. We also print the generated summaries for each model. ```python @@ -570,7 +625,7 @@ plot.show() -![png](evals_files/evals_28_1.png) +![png](evals_files/evals_30_1.png) @@ -579,10 +634,13 @@ Results demonstrate that tested models perform quite differently on our predefin While evaluating language model outputs inherently involves subjective judgment, establishing a high-quality benchmark model and using quantifiable metrics provide a more objective framework for comparing model performance. This approach transforms an otherwise qualitative assessment into a measurable, data-driven evaluation process. + + These metrics provide quantifiable measures of performance, however limitations should be mentioned: * **Task-specific nature**: Chosen set of metrics might not fully capture the nuances of complex generative-based tasks, especially those involving subjective human judgment. * **Sensitivity to data distribution**: Performance on these metrics can be influenced by the specific dataset used for evaluation, which might not represent real-world data distribution. +* **Subjective Acceptable Threshold**: These metrics are not always easy to interpret and set a threshold for (see {cite}`sarmah2024choosethresholdevaluationmetric` for a discussion on how to choose a threshold for an evaluation metric for large language models). * **Inability to assess reasoning or factual accuracy**: These metrics primarily focus on surface-level matching and might not reveal the underlying reasoning process of the LLM or its ability to generate factually correct information. In conclusion, selecting an appropriate extrinsic metrics set depends on the specific task, underlying business requirements and desired evaluation granularity. Understanding the limitations of these metrics can provide a more comprehensive assessment of LLM performance in real-world applications. @@ -591,6 +649,7 @@ To address these limitations, alternative approaches like **human-based evaluati ## Evaluators +(model-based-eval)= ### Model-Based Evaluation Traditional metrics like BLEU or ROUGE often fall short in capturing the nuanced, contextual, and creative outputs of LLMs. As an alternative we can consider a "Model-based evaluation" approach. A common approach is to use an LLM as a judge. This is an approach that leverages language models themselves to assess the quality of outputs from other language models. This method involves using a model (often a more capable one) to act as an automated judge, evaluating aspects like accuracy, coherence, and relevance of generated content. Unlike traditional metrics that rely on exact matching or statistical measures, model-based evaluation can capture nuanced aspects of language and provide more contextual assessment. @@ -815,7 +874,7 @@ plot.show() -![png](evals_files/evals_43_1.png) +![png](evals_files/evals_46_1.png) @@ -831,32 +890,24 @@ The visualization helps highlight these differences across models and evaluation -Leveraging LLMs for evaluation has several limitations {cite}`li2024leveraginglargelanguagemodels`. Firstly, computational overhead should not be neglected given the inherent cost of running additional model inferences iterations. LLM evaluators can also exhibit various biases, including order bias (preferring certain sequence positions), egocentric bias (favoring outputs from similar models), and length bias. Further, there may be a tight dependency on prompt quality - small prompt variations may lead to substantially different outcomes. It is important to also note challenges around domain-specific evaluation in fields such as medice, finance, law etc, where a general llm-as-a-judge approach may not be suitable. - -The LLM-as-a-Judge strategy can serve as a scalable and nuanced solution to evaluate LLM-based applications. While it does not entirely a metrics-based or human-based aproach, it significantly augments evaluation workflows, especially in scenarios requiring evaluation of generative outputs. Future improvements could include integrating human oversight and refining LLMs for domain-specific evaluation tasks. - - +Leveraging LLMs for evaluation has several limitations {cite}`li2024leveraginglargelanguagemodels`. Firstly, computational overhead should not be neglected given the inherent cost of running additional model inferences iterations. LLM evaluators can also exhibit various biases, including order bias (preferring certain sequence positions), egocentric bias (favoring outputs from similar models), and length bias. Further, there may be a tight dependency on prompt quality - small prompt variations may lead to substantially different outcomes. It is important to also note challenges around domain-specific evaluation in fields such as medicine, finance, law etc, where a general llm-as-a-judge approach may not be suitable. +The LLM-as-a-Judge strategy can serve as a scalable and nuanced solution to evaluate LLM-based applications. While it does not entirely replace metrics-based or human-based approaches, it significantly augments evaluation workflows, especially in scenarios requiring evaluation of generative outputs. Future improvements in our example include integrating human oversight and refining LLMs for domain-specific evaluation tasks. +One open source solution trying to overcome some of these challenges is Glider {cite}`deshpande2024glidergradingllminteractions`, a 3B evaluator LLM that can score any text input and associated context on arbitrary user defined criteria. Glider is an LLM model trained on 685 domains and 183 criteria whose judgement scores show 91.3% agreement with human judgments, making it suitable for a diverse range of real world applications. - -### Human-Based Evaluation - -Human assessors can judge aspects like fluency, coherence, and factual accuracy, providing a more comprehensive evaluation. However, human evaluation can be subjective and resource-intensive. - - ### Evaluating Evaluators We have discussed how LLMs can be used to evaluate LLM-based aplications. However, how can we evaluate the performance of LLMs that evaluate other LLMs? This is the question that meta evaluation aims to answer. Clearly, the discussion can become quite meta as we need to evaluate the performance of the evaluator to evaluate the performance of the evaluated model. However, one can make a case for two general options: -1. Use a gold-standard dataset that is used to evaluate the performance of LLM evaluators using a "metrics-based" approach. +1. Use a golden-standard dataset that is used to evaluate the performance of LLM evaluators using a "metrics-based" approach. 2. Use a human evaluator to generate reference scores that can be used to evaluate the performance of the LLM evaluator (similar to the human-based evaluation we discussed earlier). -As depicted in {numref}`meta`, the performance of the LLM evaluator can be evaluated by comparing its scores to either a gold-standard dataset or human reference scores. Higher correlation values indicate better performance of the LLM evaluator. For instance, if we were to evaluate the performance of a LLM-as-a-judge evaluator, in the task of evaluating multilingual capability of an LLM: +As depicted in {numref}`meta`, the performance of the LLM evaluator can be evaluated by comparing its scores to either a golden-standard dataset or human reference scores. Higher correlation values indicate better performance of the LLM evaluator. For instance, if we were to evaluate the performance of a LLM-as-a-judge evaluator, in the task of evaluating multilingual capability of an LLM: 1. In a "metrics-based" approach, we would first need to define a set of metrics that capture the task of multilingual capability. For instance, we could use the BLEU metric to evaluate the quality of the generated LLM output against a golden dataset (e.g. machine translated text). We would then calculate the correlation between these scores against those generated by the LLM evaluator. The higher the correlation, the better the LLM evaluator. -2. In a "human-based" approach, we would need to recruit human evaluators that are experts in the target languanges we are evaluating. Expert humans would provide scores for a set of samples of the input LLM. We would then calculate the correlation between these scores against those generated by the LLM evaluator. The higher the correlation, the better the LLM evaluator. +2. In a "human-based" approach, we would need to recruit human evaluators that are experts in the target languages we are evaluating. Expert humans would provide scores for a set of samples of the input LLM. We would then calculate the correlation between these scores against those generated by the LLM evaluator. The higher the correlation, the better the LLM evaluator. ```{figure} ../_static/evals/meta.png --- @@ -868,9 +919,9 @@ align: center Conceptual overview of LLMs Meta Evaluation. ``` -An extension of the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is [Judge Arena](https://judgearena.com/) {cite}`judgearena2024`, which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in {numref}`meta2`. Only after submitting a vote, users can see which models were actually doing the judging. +An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is [Judge Arena](https://judgearena.com/) {cite}`judgearena2024`, which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in {numref}`meta2`. Only after submitting a vote, users can see which models were actually doing the judging. -```{figure} ../_static/evals/meta2.svg +```{figure} ../_static/evals/meta2.png --- name: meta2 alt: Human-in-the-loop meta evaluation Conceptual Overview @@ -907,25 +958,29 @@ Benchmarks act as standardized tests for LLMs, evaluating their performance acro Benchmarks can be thought as comprehensive "exams" that probe different "subjects" in order to certify an LLM. They help researchers and developers compare models systematically, in a way LLM performance is comparable while enabling the identification of emergent behaviors or capabilities as models evolve in scale and sophistication. -The history of LLM benchmarks reflects the evolving priorities of artificial intelligence research, starting with foundational tasks and moving toward complex, real-world challenges. It began in **2018** with the introduction of **GLUE (General Language Understanding Evaluation)**, which set a new standard for evaluating natural language understanding. GLUE measured performance on tasks like sentiment analysis and textual entailment, providing a baseline for assessing the fundamental capabilities of language models. A year later, **SuperGLUE (2019)** expanded on this foundation by introducing more nuanced tasks that tested reasoning and language comprehension at a deeper level, challenging the limits of models like BERT and its successors. +The history of LLM benchmarks reflects the evolving priorities of artificial intelligence research, starting with foundational tasks and moving toward complex, real-world challenges. We can start in 2018 with the introduction of **GLUE** (General Language Understanding Evaluation) {cite}`wang2019gluemultitaskbenchmarkanalysis`, which set a new standard for evaluating natural language understanding. GLUE measured performance on tasks like sentiment analysis and textual entailment, providing a baseline for assessing the fundamental capabilities of language models. Later, **SuperGLUE** {cite}`nangia2019superglue` expanded on this foundation by introducing more nuanced tasks that tested reasoning and language comprehension at a deeper level, challenging the limits of models like BERT and its successors. + +As AI capabilities grew, benchmarks evolved to capture broader and more diverse aspects of intelligence. **BIG-Bench** {cite}`srivastava2023imitationgamequantifyingextrapolating` marked a turning point by incorporating over 200 tasks, spanning arithmetic, logic, and creative problem-solving. This collaborative effort aimed to probe emergent abilities in large models, offering insights into how scale and complexity influence performance. Around the same time, specialized benchmarks like **TruthfulQA** {cite}`2021truthfulqa` emerged, addressing the critical need for models to provide accurate and non-deceptive information in a world increasingly dependent on AI for factual content. + +**MMLU** (Massive Multitask Language Understanding) {cite}`hendrycks2021measuringmassivemultitasklanguage` launched in 2021, provided a rigorous test of a model’s multidisciplinary knowledge, covering 57 subjects from STEM fields to humanities and social sciences. Similarly, in 2022, Stanford’s **HELM** (Holistic Evaluation of Language Models) {cite}`liang2023holisticevaluationlanguagemodels` set a new standard for multidimensional assessment. HELM expanded the scope of evaluation beyond accuracy, incorporating factors like fairness, robustness, and computational efficiency. This benchmark was designed to address societal concerns surrounding AI, emphasizing safety and inclusion alongside technical performance. -As AI capabilities grew, benchmarks evolved to capture broader and more diverse aspects of intelligence. **BIG-Bench (2021)** marked a turning point by incorporating over 200 tasks, spanning arithmetic, logic, and creative problem-solving. This collaborative effort aimed to probe emergent abilities in large models, offering insights into how scale and complexity influence performance. Around the same time, specialized benchmarks like **TruthfulQA (2021)** emerged, addressing the critical need for models to provide accurate and non-deceptive information in a world increasingly dependent on AI for factual content. +Specialized benchmarks like **HumanEval** (2021) {cite}`chen2021evaluatinglargelanguagemodels` focused on domain-specific tasks, such as code generation, testing models’ ability to translate natural language descriptions into functional programming code. In contrast, **LMSYS** (2023) brought real-world applicability into focus by evaluating conversational AI through multi-turn dialogues. LMSYS prioritized coherence, contextual understanding, and user satisfaction, providing a practical lens for assessing models like GPT and Claude in dynamic settings. -In **2022**, Stanford’s **HELM (Holistic Evaluation of Language Models)** set a new standard for multidimensional assessment. HELM expanded the scope of evaluation beyond accuracy, incorporating factors like fairness, robustness, and computational efficiency. This benchmark was designed to address societal concerns surrounding AI, emphasizing safety and inclusion alongside technical performance. Similarly, **MMLU (Massive Multitask Language Understanding)**, launched in **2021**, provided a rigorous test of a model’s multidisciplinary knowledge, covering 57 subjects from STEM fields to humanities and social sciences. +The **HuggingFace Open LLM** {cite}`openllmleaderboard2024` Leaderboard stands out for its transparency and accessibility in the open-source community. This leaderboard evaluates a wide range of LLMs across diverse tasks, including general knowledge, reasoning, and code-writing. Its commitment to reproducibility ensures that results are verifiable, enabling researchers and practitioners to replicate findings. By focusing on open-source models, it democratizes AI research and fosters innovation across communities, making it a valuable resource for both academics and industry professionals. -Specialized benchmarks like **HumanEval (2021)** focused on domain-specific tasks, such as code generation, testing models’ ability to translate natural language descriptions into functional programming code. In contrast, **LMSYS (2023)** brought real-world applicability into focus by evaluating conversational AI through multi-turn dialogues. LMSYS prioritized coherence, contextual understanding, and user satisfaction, providing a practical lens for assessing models like GPT and Claude in dynamic settings. +The **Chatbot Arena** (2024) Leaderboard (an evolution of LMSYS) {cite}`chiang2024chatbotarenaopenplatform` takes an alternative approach by measuring real-world performance through direct model comparisons. Its evaluation format compares models in live conversations, with human judges providing qualitative assessments. This methodology has gathered hundreds of thousands of human evaluations, offering specific insights into practical model performance. The emphasis on interactive capabilities makes it relevant for developing user-facing applications like virtual assistants and chatbots. -From the early days of GLUE to the groundbreaking ARC Prize, the history of benchmarks illustrates a steady progression toward holistic and meaningful AI evaluation. Each new benchmark addresses emerging challenges and raises the bar for what AI systems can and should achieve, ensuring that these technologies align with both technical ambitions and societal needs. +The **AlpacaEval** {cite}`dubois2024lengthcontrolledalpacaevalsimpleway` and **MT-Bench** {cite}`zheng2023judgingllmasajudgemtbenchchatbot` Leaderboards implement automated evaluation using LLMs to assess model performance in multi-turn conversations. This approach enables consistent assessment of dialogue capabilities while reducing human bias. Their methodology measures key aspects of conversational AI, including contextual understanding and response consistency across multiple exchanges. -As LLM benchmarks develop so do leaderboards. Leaderboards serve as standardized platforms to compare and rank models based on specific performance metrics / benchmarks. These evaluation systems help track LLM capabilities while maintaining transparency and reproducibility. -The **HuggingFace Open LLM** Leaderboard stands out for its transparency and accessibility in the open-source community. This leaderboard evaluates a wide range of LLMs across diverse tasks, including general knowledge, reasoning, and code-writing. Its commitment to reproducibility ensures that results are verifiable, enabling researchers and practitioners to replicate findings. By focusing on open-source models, it democratizes AI research and fosters innovation across communities, making it a valuable resource for both academics and industry professionals. +An important recent development was the release of Global-MMLU {cite}`singh2024globalmmluunderstandingaddressing`, an improved version of MMLU with evaluation coverage across 42 languages. This open dataset, built through collaboration between Argilla, the Hugging Face community, and researchers from leading institutions like Cohere For AI, Mila, MIT, and others, represents a significant step toward more inclusive multilingual LLM evaluation. Hundreds of contributors used Argilla to annotate MMLU questions, revealing that 85% of questions requiring specific cultural knowledge were Western-centric. The newly released dataset is divided into two key subsets: Culturally Agnostic questions that require no specific regional or cultural knowledge, and Culturally Sensitive questions that depend on dialect, cultural, or geographic knowledge. With high-quality translations available for 25 languages, Global-MMLU enables better understanding of LLM capabilities and limitations across different languages and cultural contexts. -The **Chatbot Arena** Leaderboard (formerly LMSYS) takes an alternative approach by measuring real-world performance through direct model comparisons. Its evaluation format compares models in live conversations, with human judges providing qualitative assessments. This methodology has gathered over 200,000 human evaluations, offering specific insights into practical model performance. The emphasis on interactive capabilities makes it relevant for developing user-facing applications like virtual assistants and chatbots. -The **AlpacaEval** and **MT-Bench** Leaderboards implement automated evaluation using GPT-4 to assess model performance in multi-turn conversations. This approach enables consistent assessment of dialogue capabilities while reducing human bias. Their methodology measures key aspects of conversational AI, including contextual understanding and response consistency across multiple exchanges. +A major challenge with these leaderboards and benchmarks is test set contamination - when test data ends up in newer models' training sets, rendering the benchmarks ineffective. While some benchmarks try to address this through crowdsourced prompts and evaluations from humans or LLMs, these approaches introduce their own biases and struggle with difficult questions. **LiveBench** {cite}`white2024livebenchchallengingcontaminationfreellm` represents a novel solution, designed specifically to be resilient to both contamination and evaluation biases. As the first benchmark with continuously updated questions from recent sources, automated objective scoring, and diverse challenging tasks across multiple domains, LiveBench maintains its effectiveness even as models improve. Drawing from recent math competitions, research papers, news, and datasets, it creates contamination-free versions of established benchmark tasks. Current results show even top models achieving considerably lower performance compared to other benchmarks, demonstrating LiveBench's ability to meaningfully differentiate model capabilities with relatively lower saturation. With monthly updates and an open collaborative approach, LiveBench aims to provide sustained value for model evaluation as the field advances. -A significant shift in AI evaluation came with the launch of the **The Alignment Research Center (ARC) Prize** by ARC Prize Inc., a non-profit for the public advancement of open artificial general intelligence. Hosted by Mike Knoop (Co-founder, Zapier) and François Chollet (Creator of ARC-AGI, Keras), this prize represents a paradigm shift in how we evaluate language models. Rather than focusing on narrow performance metrics, the ARC Prize assesses what it calls "cognitive sufficiency" - a model's ability to generate meaningful insights and tackle open-ended challenges. This new way to think about LLM evaluation emphasizes creative thinking, sophisticated reasoning, and the capacity to make genuinely useful contributions to human knowledge as we seek to define and measure what it means to achieve AGI (Artificial General Intelligence). +Another notable benchmark is ZebraLogic {cite}`zebralogic2024`, which evaluates logical reasoning capabilities of LLMs through Logic Grid Puzzles - a type of Constraint Satisfaction Problem {cite}`brailsford1999constraint` commonly found in tests like the LSAT. These puzzles require assigning unique values to N houses across M different features based on given clues, demanding strategic reasoning and deduction to arrive at a unique correct solution. The benchmark's programmatically generated puzzles range from 2x2 to 6x6 in size and test LLMs using one-shot examples with reasoning steps. While humans can solve these puzzles through strategic methods like reductio ad absurdum and elimination, LLMs demonstrate significant limitations in this type of logical reasoning. Even the best-performing model, Claude 3.5 Sonnet, only achieves 33.4% accuracy across all puzzles and 12.4% on hard puzzles, with smaller models (7-10B parameters) solving less than 1% of hard puzzles as of December 2024. These results reveal critical gaps in LLMs' capabilities around counterfactual thinking, reflective reasoning, structured memorization, and compositional generalization. + +A significant milestone in AI evaluation came with the launch of the **The Alignment Research Center (ARC) Prize** {cite}`arcprize2024` by ARC Prize Inc., a non-profit for the public advancement of open artificial general intelligence. Hosted by Mike Knoop (Co-founder, Zapier) and François Chollet (Creator of Keras), this prize represents a paradigm shift in how we evaluate language models. Rather than focusing on narrow performance metrics, the ARC Prize assesses what it calls "cognitive sufficiency" - a model's ability to generate meaningful insights and tackle open-ended challenges. This new way to think about LLM evaluation emphasizes creative thinking, sophisticated reasoning, and the capacity to make genuinely useful contributions to human knowledge. Arguably, it is an attempt to define and measure a step towards what it means to achieve AGI (Artificial General Intelligence). Defining AGI according to ARC Prize: @@ -956,19 +1011,950 @@ align: center Sample ARC-AGI Task. ``` - These features make the ARC benchmark a unique test of machine intelligence, focusing on the ability to adapt to novelty and solve problems without relying heavily on memorization. This is more aligned with the concept of general intelligence, which emphasizes the ability to learn efficiently and tackle new challenges. +The ARC-AGI benchmark remained unbeaten for five years as of December 2024 (a minimum score of 85% in the private dataset is required to win) {cite}`arcprizeresults2024`. A key takeaway is that algorithmic improvements, rather than massive computational resources, may be key to exceeding the target score for the ARC-AGI benchmark. + + +In addition to the benchmarks discussed above, a growing set of domain-specific benchmarks is emerging to help evaluate LLMs in specific verticals, including: + - FinBench {cite}`zhang2024finbench`: Evaluates LLMs in the financial domain, covering tasks such as terminology understanding, temporal reasoning, future forecasting, scenario planning, and numerical modelling. + - LegalBench {cite}`guha2023legalbench` : Assesses the legal reasoning abilities of LLMs through tasks crowdsourced by legal professionals + - Berkeley Function Leaderboard (BFCL) {cite}`patil2023gorilla`: Evaluates LLMs' function-calling abilities + + As language models continue to advance in capability and complexity, evaluation frameworks must evolve. Modern benchmarks increasingly incorporate tests for nuanced reasoning, ethical decision-making, and emergent capabilities that weren't previously measurable. This ongoing evolution reflects a deeper understanding that the true value of language models lies not in achieving high scores on standardized tests with narrow task-specific metrics, but in their ability to meaningfully contribute to human understanding and help solve real-world problems while demonstrating the ability to learn and adapt to new tasks. +In the following sections, we will explore some open source tools developers can use to automate and streamline the challenging task of LLMs evals. + ## Tools ### LightEval -LightEval {cite}`lighteval` is a lightweight framework for LLM evaluation that allows for efficient evaluation of LLMs across a variety of tasks. It is designed to be used in conjunction with the Hugging Face ecosystem and can be used to evaluate the performance of LLMs on a variety of tasks. +LightEval {cite}`lighteval` is a lightweight framework for evaluation of LLMs across a variety of standard and bespoke metrics and tasks across multiple inference backends via Python SDK and CLI. + +As a motivating example, consider a scenario where financial data has been extracted from SEC financial filings and require econometric analysis. Tasks like estimating autoregressive models for time series forecasting or conducting hypothesis tests on market efficiency are common in financial analysis. Let's evaluate how well different models perform on this type of task. + +First, we need to select a benchmark to assess LLMs capabilities in this domain. MMLU has a sub-benchmark called Econometrics we can use for this task. {numref}`mmlu-econometrics` shows a sample of the benchmark dataset from MMLU Econometrics. It consists of multiple-choice questions from econometrics and expected answers. + +```{table} MMLU Econometrics Task Dataset sample +:name: mmlu-econometrics +| Question | Options | Correct Options | Correct Options Index | Correct Options Literal | +|-----------|----------|-----------------|---------------------|----------------------| +| Consider the following AR(1) model with the disturbances having zero mean and unit variance: yt = 0.2 + 0.4 yt-1 + ut The (unconditional) mean of y will be given by | ["0.2", "0.4", "0.5", "0.33"] | ["b"] | [3] | ["0.33"] | +| Suppose that a test statistic has associated with it a p-value of 0.08. Which one of the following statements is true? (i) If the size of the test were exactly 8%, we... | ["(ii) and (iv) only", "(i) and (iii) only", "(i), (ii), and (iii) only", "(i), (ii), (iii), and (iv)"] | ["c"] | [2] | ["(i), (ii), and (iii) only"] | +| What would be then consequences for the OLS estimator if heteroscedasticity is present in a regression model but ignored? | ["It will be biased", "It will be inconsistent", "It will be inefficient", "All of (a), (b) and (c) will be true."] | ["c"] | [2] | ["It will be inefficient"] | +| Suppose now that a researcher wishes to use information criteria to determine the optimal lag length for a VAR. 500 observations are available for the bivariate VAR... | ["1 lag", "2 lags", "3 lags", "4 lags"] | ["c"] | [2] | ["3 lags"] | +``` + +The code sample below demonstrates the LightEval Python SDK framework for evaluating a target LLM model on a given task. First, we instantiate an `EvaluationTracker` which manages result storage, in this example kept in a local directory `output_dir`, and tracks detailed evaluation metrics, optionally pushed to HuggingFace Hub. + +Next, we instantiate an object of the class `PipelineParameters` which, in this example, configures the pipeline for parallel processing with a temporary cache in `cache_dir` also setting the maximum number of samples to process to `max_samples`. Then, in `BaseModelConfig` we set up the LLM model we would like to evaluate defined in `pretrained`. + +```bash +pip install lighteval[accelerate] +``` + +```python +import lighteval +from lighteval.logging.evaluation_tracker import EvaluationTracker +from lighteval.models.model_config import BaseModelConfig +from lighteval.pipeline import ParallelismManager, Pipeline, PipelineParameters +from lighteval.utils.utils import EnvConfig +from lighteval.utils.imports import is_accelerate_available +from datetime import timedelta +from accelerate import Accelerator, InitProcessGroupKwargs + + +def create_evaluation_pipeline(output_dir: str, cache_dir: str, pretrained: str, dtype: str = "float16", max_samples: int = 10, task: str): + if is_accelerate_available(): + from accelerate import Accelerator, InitProcessGroupKwargs + accelerator = Accelerator(kwargs_handlers=[InitProcessGroupKwargs(timeout=timedelta(seconds=3000))]) + else: + accelerator = None + + evaluation_tracker = EvaluationTracker( + output_dir=output_dir, + save_details=True, + push_to_hub=False + ) + + pipeline_params = PipelineParameters( + launcher_type=ParallelismManager.ACCELERATE, + env_config=EnvConfig(cache_dir=cache_dir), + override_batch_size=1, + max_samples=max_samples + ) + + model_config = BaseModelConfig( + pretrained=pretrained, + dtype=dtype, + use_chat_template=True, + trust_remote_code=True + ) + + pipeline = Pipeline( + tasks=task, + pipeline_parameters=pipeline_params, + evaluation_tracker=evaluation_tracker, + model_config=model_config + ) + + return pipeline +``` +{numref}`lighteval` shows a schematic representation of its key components. As inference engine, we leverage `accelerate` for distributed evaluation. `lighteval` also supports other inference backends such as `vllm` and `tgi`. + + + +```{figure} ../_static/evals/lighteval.png +--- +name: lighteval +alt: LightEval Python SDK Sample Conceptual Overview. +scale: 35% +align: center +--- +LightEval Python SDK Sample Conceptual Overview. +``` + +This setup allows for systematic evaluation of language model performance on specific tasks while handling distributed computation and result tracking. + +The final Pipeline combines these components to evaluate in the user defined `task`, which follows the following format: + +```bash +{suite}|{task}|{num_few_shot}|{0 or 1 to automatically reduce `num_few_shot` if prompt is too long} +``` + +The task string format follows a specific pattern with four components separated by vertical bars (|): + +1. suite: The evaluation suite name (e.g., "leaderboard") +2. task: The specific task name (e.g., "mmlu:econometrics") +3. num_few_shot: The number of few-shot examples to use (e.g., "0" for zero-shot) +4. A binary flag (0 or 1) that controls whether to automatically reduce the number of few-shot examples if the prompt becomes too long + +LightEval provides a comprehensive set of evaluation tasks {cite}`lighteval_tasks` and metrics {cite}`lighteval_metrics`. The available tasks span multiple categories and benchmarks including BigBench, MMLU, TruthfulQA, WinoGrande, and HellaSwag. The framework also supports standard NLP evaluation metrics including BLEU, ROUGE, Exact Match, F1 Score, and Accuracy. + +In our case, we choose to evaluate our LLMs on the MMLU econometrics task using zero-shot learning. Hence, we define the `task` as follows: + +```python +task = "leaderboard|mmlu:econometrics|0|0" +``` + +Example usage to evaluate an LLM, for instance `meta-llama/Llama-3.2-1B-Instruct`, on the MMLU econometrics task using zero-shot learning: + +```python +task = "leaderboard|mmlu:econometrics|0|0" +model = "meta-llama/Llama-3.2-1B-Instruct" +pipeline = create_evaluation_pipeline(output_dir="./evals/", cache_dir="./cache/", pretrained=model, task=task) +``` + +We can then evaluate the pipeline, save and show its results as follows: + +```python +pipeline.evaluate() +pipeline.save_and_push_results() +pipeline.show_results() +``` + +The results are then stored in `output_dir` in JSON format. + +The same results can be obtained by using the LightEval CLI: + +```bash +lighteval accelerate --model_args "pretrained=meta-llama/Llama-3.2-1B-Instruct" --tasks "leaderboard|mmlu:econometrics|0|0" --override_batch_size 1 --output_dir="./evals/" +``` + +We would like to compare the performance of multiple open source models on the MMLU econometrics task. While we could download and evaluate each model locally, we prefer instead to evaluate them on a remote server to save time and resources. LightEval enables serving the model on a TGI-compatible server/container and then running the evaluation by sending requests to the server {cite}`lighteval_server`. + +For that purpose, we can leverage HuggingFace Serverless Inference API [^lightevalbug] and set a configuration file for LightEval as shown below, where `` is the model identifier on HuggingFace (e.g. `meta-llama/Llama-3.2-1B-Instruct`) and `` is the user's HuggingFace API token. Alternatively, you could also pass an URL of a corresponding dedicated inference API if you have one. +[^lightevalbug]: We found a bug in LightEval that prevented it from working with the HuggingFace Serverless Inference API: https://github.com/huggingface/lighteval/issues/422. Thanks to the great work of the LightEval team, this issue has been fixed. +``` +model: + type: "tgi" + instance: + inference_server_address: "https://api-inference.huggingface.co/models/" + inference_server_auth: "" + model_id: null +``` + +Now we can run the evaluation by sending requests to the server as follows by using the same bash command as before but now setting the `model_config_path` to the path of the configuration file we have just created (e.g. `endpoint_model.yaml`): + +```bash +lighteval accelerate --model_config_path="endpoint_model.yaml" --tasks "leaderboard|mmlu:econometrics|0|0" --override_batch_size 1 --output_dir="./evals/" +``` + +To complete our task, we evaluate a few models from the following model families: `Llama3.2`, `Qwen2.5`, and `SmolLM2` as described in {numref}`model-families`. + +```{table} Model Families Evaluated Using LightEval +:name: model-families +| Model Family | Description | Models | References | +|--------------|-------------|---------|------------| +| Llama3.2 Instruct | LLaMA architecture-based pretrained and instruction-tuned generative models | `Llama-3.2-1B-Instruct`
    `Llama-3.2-3B-Instruct` | {cite}`meta_llama_models` | +| Qwen2.5 Instruct | Instruction-tuned LLMs family built by Alibaba Cloud | `Qwen2.5-0.5B-Instruct`
    `Qwen2.5-1.5B-Instruct`
    `Qwen2.5-3B-Instruct` | {cite}`gpt2docs,hui2024qwen2,qwen2` | +| SmolLM2 Instruct | Instruction-tuned family of compact language models built by HuggingFace | `SmolLM2-360M-Instruct`
    `SmolLM2-1.7B-Instruct` | {cite}`allal2024SmolLM2` | +``` + +We can then compare the performance of these models on the MMLU econometrics task as shown in {numref}`model-comparison`. + +```{figure} ../_static/evals/model-comparison.png +--- +name: model-comparison +alt: Model Comparison on MMLU Econometrics Task +scale: 50% +align: center +--- +Model performance comparison on MMLU Econometrics task, showing accuracy scores across different model sizes and architectures. +``` + +The results reveal several interesting patterns in model performance. As expected, we observe a trend where larger models consistently achieve higher accuracy scores. The evaluation shows distinct clusters among model families, with Qwen2.5, Llama-3.2, and SmolLM2 each exhibiting their own scaling characteristics, suggesting that architectural differences lead to varying degrees of efficiency as model size increases. Particularly noteworthy is the performance of the Qwen2.5 family, which demonstrates superior accuracy even at smaller model sizes when compared to Llama-3.2. + +Of course, the results should be taken with a grain of salt given the limited size of the dataset (MMLU Econometrics ~ 100), limited number of models and sizes. However, it gives a good indication of the capabilities of the different models tested with Qwen2.5 family being an interesting first candidate as a relatively small yet powerful model demonstrating a good trade-off between performance and size. Once tested on real-world data, the results will change but these initial findings are a good data-driven starting point for model selection as you begin your LLM-based application development. + +In summary, LightEval is a simple yet flexible and comprehensive framework for evaluating LLMs across a wide variety of tasks and metrics. It can serve as a first step in selecting your next LLM for a specific task given the exponential growth in number of (open source) models available {cite}`hf_num_models`. Its integration with the Hugging Face ecosystem and modular architecture make it particularly powerful for evaluating open source models. For further details, visit the [official repository](https://github.com/huggingface/lighteval) {cite}`lighteval`. + +### LangSmith + + + +Let's revisit our evaluation example when we were interested in evaluating the quality of summaries generated by different (smaller and cheaper) LLM models compared to a benchmark model (larger and more expensive). Recal the setup: + +- Benchmark model: gpt-4o + +- Test models: gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo + + +We can run evaluation using only langsmith without the need of langchain. + +```bash +!pip uninstall langchain +!pip uninstall langchain-community +!pip uninstall langchain-openai +!pip install langsmith +``` + +We need to generate an API key to use LangSmith. See instructions [here](https://docs.smith.langchain.com/). Remember to export your API_KEY. Activating tracing will allow us to track logs and foster observability of our evaluation. + +```bash +export LANGCHAIN_TRACING_V2=true +export LANGCHAIN_API_KEY= +``` + + +```python +import evaluate as hf_evaluate # HuggingFace's evaluate +from langsmith import evaluate as langsmith_evaluate # LangSmith's evaluate +from langsmith import Client +from typing import Dict, Any + +ls_client = Client() +``` + +The code below creates a dataset in LangSmith that will serve as our golden dataset for evaluation. The dataset consists of test cases where we create a single example with the following content: + +- An input: Our SEC filing document +- An expected output: A golden summary generated by our benchmark model (`gpt-4o`) + +This dataset will allow us to evaluate how well other models perform compared to our benchmark by comparing their generated summaries against these reference summaries. In practice, it's recommended to create a larger dataset with more diverse examples to get a more accurate assessment of model capabilities as well as to estimate confidence intervals for target metrics. + + + +```python +# Define dataset: these are your test cases +dataset_name = "Golden SEC Summary Dataset" +dataset = ls_client.create_dataset(dataset_name) +ls_client.create_examples( + inputs=[ + {"sec_filing": sec_filing}, + ], + outputs=[ + {"summary": benchmark_summary}, + ], + dataset_id=dataset.id, +) +``` + +Our Dataset is now available in LangSmith as shown in {numref}`langsmith_dataset`. + +```{figure} ../_static/evals/langsmith_dataset.png +--- +name: langsmith_dataset +alt: LangSmith Dataset +scale: 25% +align: center +--- +LangSmith Dataset +``` + +Next, we write our evaluator. This evaluator calculates BLEU scores between generated and reference summaries using HuggingFace's evaluate package. The evaluator takes two dictionaries as input - one containing the generated summary and another containing the reference summary. It returns a dictionary with the Google BLEU score, which measures the overlap between n-grams in the generated and reference texts similar to our previous metric-based experiments. + + +```python +def calculate_scores(outputs: Dict[str, Any], reference_outputs: Dict[str, Any]) -> dict: + """ + Custom evaluator that calculates BLEU and ROUGE scores between generated and reference summaries + using HuggingFace's evaluate package + + Args: + outputs (dict): Contains the generated summary + reference_outputs (dict): Contains the reference summary + + Returns: + dict: Dictionary containing Google BLEU score + """ + generated = outputs.get("summary", "") + reference = reference_outputs.get("summary", "") + + # Initialize metrics from HuggingFace's evaluate + bleu = hf_evaluate.load("google_bleu") + + # Format inputs for BLEU (expects list of str for predictions and list of list of str for references) + predictions = [generated] + references = [reference] + + # Compute BLEU score + bleu_score = bleu.compute(predictions=predictions, references=[references]) + + return {"key": "google_bleu", "score": bleu_score["google_bleu"]} +``` + +Now that we have defined our evaluation metrics, let's create a function to generate summaries for our smaller models. The function below takes a dictionary containing the SEC filing text as input and returns a dictionary with the generated summary. The prompt instructs the model to act as an expert analyst and generate a one-line summary of the filing excerpt. We use the same task and model configuration as in our previous experiments to maintain consistency in our evaluation pipeline. + + + +```python +from openai import OpenAI +oai_client = OpenAI() +``` + + +```python +TASK = "Generate a 1-liner summary of the following excerpt from an SEC filing." + +PROMPT = f""" +ROLE: You are an expert analyst tasked with summarizing SEC filings. +TASK: {TASK} +""" + +xp_model_name = "" # model to be tested + +def generate_summary(inputs: dict): + """ + Generate a summary of input using a given model + """ + TASK = "Generate a 1-liner summary of the following excerpt from an SEC filing." + + response = oai_client.chat.completions.create( + model=xp_model_name, # model_name is a global variable + messages=[{"role": "system", "content": PROMPT}, + {"role": "user", "content": inputs.get("sec_filing")}] + ) + return {"summary": response.choices[0].message.content} +``` + + +Lastly we define a function to run our evaluation. The `run_evaluation()` function uses LangSmith's `evaluate()` to run evaluations either locally or remotely. When running locally, results are not uploaded to LangSmith's servers. The function takes an application, dataset, and list of evaluators as input and returns the evaluation results. The application is the `generate_summary()` function we would like to evaluate. The `dataset` is the golden summary from the strong model. And we pass a list with our single evaluator `calculate_scores()`. LangSmith also allows for running multiple repetitions of the same experiment to get a more accurate assessment of model capabilities as well as to estimate confidence intervals for target metrics, which we set to 5 repetitions. + +This allows us to systematically assess our LLM-based application while maintaining control over where results are stored. +```python +def run_evaluation(app, model_name, dataset, evaluators, upload_results=False): + global xp_model_name + xp_model_name = model_name + results = langsmith_evaluate( + app, + client=None, + data=dataset, + evaluators=evaluators, + experiment_prefix=model_name, + num_repetitions=5, + upload_results= upload_results, # This is the key parameter for local evaluation + + ) + + return results +``` + +Now we are ready run evaluation on our app across all target LLM models. + + +```python +app = generate_summary +``` + + +```python +models = ["gpt-3.5-turbo", "gpt-4-turbo", "gpt-4o-mini"] +results = [run_evaluation(app, model, dataset=dataset_name, evaluators=[calculate_scores], upload_results=True) for model in models] + +``` + + View the evaluation results for experiment: 'gpt-3.5-turbo-386a3620' at: + https://smith.langchain.com/o/9e1cc3cb-9d6a-4356-ab34-138e0abe8be4/datasets/8741976e-5268-4b75-949f-99477dde5d64/compare?selectedSessions=b831dc1e-90bc-4ed8-8080-fb42444724d6 + + + + + 4it [00:10, 2.59s/it]Using the latest cached version of the module from /home/tobias/.cache/huggingface/modules/evaluate_modules/metrics/evaluate-metric--google_bleu/6fc70b7be0088120a372dfdd5d320b39b8bb3630cb8029b193941d9376e86bb0 (last modified on Tue Nov 26 16:50:45 2024) since it couldn't be found locally at evaluate-metric--google_bleu, or remotely on the Hugging Face Hub. + 5it [00:15, 3.09s/it] + + + View the evaluation results for experiment: 'gpt-4-turbo-5053784e' at: + https://smith.langchain.com/o/9e1cc3cb-9d6a-4356-ab34-138e0abe8be4/datasets/8741976e-5268-4b75-949f-99477dde5d64/compare?selectedSessions=64445871-a53c-44b1-a422-4f49b2f9656f + + + + + 5it [00:13, 2.69s/it] + + + View the evaluation results for experiment: 'gpt-4o-mini-4b29f3c9' at: + https://smith.langchain.com/o/9e1cc3cb-9d6a-4356-ab34-138e0abe8be4/datasets/8741976e-5268-4b75-949f-99477dde5d64/compare?selectedSessions=9ef7e39a-2add-410c-89f8-9f1a8b198cf1 + + + + + 5it [00:13, 2.61s/it] + + +We can obtain the results for all experiments including the execution time and the Google BLEU score. + + +```python +import pandas as pd +``` + + +```python +# Create list of dataframes from results +dfs = [result.to_pandas() for result in results] + +for df, model in zip(dfs, models): + df.insert(0, 'model', model) + +combined_df = pd.concat(dfs, ignore_index=True) +combined_df.head() +``` + + + + +

    Table 4.1 Structured Output Frameworks Comparison
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    modelinputs.sec_filingoutputs.summaryerrorreference.summaryfeedback.google_bleuexecution_timeexample_idid
    0gpt-3.5-turboUNITED STATES\nSECURITIES AND EXCHANGE COMMISS...Apple Inc.'s Form 10-K for the fiscal year end...NoneApple Inc.'s 10-K filing for the fiscal year e...0.3333331.224388feb10f92-3167-41f3-bb1c-d271153a31a85b196b22-9f4c-489c-b020-7823208b42d6
    1gpt-3.5-turboUNITED STATES\nSECURITIES AND EXCHANGE COMMISS...Apple Inc. filed its Form 10-K Annual Report f...NoneApple Inc.'s 10-K filing for the fiscal year e...0.3481010.722464feb10f92-3167-41f3-bb1c-d271153a31a8c310f159-064a-4035-97c3-a25bbf43abc2
    2gpt-3.5-turboUNITED STATES\nSECURITIES AND EXCHANGE COMMISS...Apple Inc. filed its annual Form 10-K for the ...NoneApple Inc.'s 10-K filing for the fiscal year e...0.3860760.704104feb10f92-3167-41f3-bb1c-d271153a31a8f7f24899-dd50-409e-93cc-6fb1622b60bf
    3gpt-3.5-turboUNITED STATES\nSECURITIES AND EXCHANGE COMMISS...Apple Inc. filed its Annual Report on Form 10-...NoneApple Inc.'s 10-K filing for the fiscal year e...0.4430380.725059feb10f92-3167-41f3-bb1c-d271153a31a8242856d6-efb5-4101-b1cf-5805532838ac
    4gpt-3.5-turboUNITED STATES\nSECURITIES AND EXCHANGE COMMISS...Apple Inc. filed its Annual Report on Form 10-...NoneApple Inc.'s 10-K filing for the fiscal year e...0.3734180.795302feb10f92-3167-41f3-bb1c-d271153a31a8ce975169-a0ab-40ce-8e32-efa28d06079d
    + + + + + +```python +# Calculate statistics per model +stats = combined_df.groupby('model').agg({ + 'feedback.google_bleu': ['mean', 'std'], + 'execution_time': ['mean', 'std'] +}).round(4) + +# Sort by execution time +stats = stats.sort_values(('execution_time', 'mean')) + +# Create a figure with two subplots side by side +import matplotlib.pyplot as plt +import numpy as np + +fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) + +# Define colors for each model +colors = ['#2ecc71', '#3498db', '#e74c3c'] +models = stats.index + +# Plot for Google BLEU scores +bleu_means = stats[('feedback.google_bleu', 'mean')] +bleu_stds = stats[('feedback.google_bleu', 'std')] + +for i, model in enumerate(models): + ax1.errorbar(i, bleu_means[model], yerr=bleu_stds[model], + fmt='o', color=colors[i], markersize=8, capsize=5, + label=model) + if i > 0: + ax1.plot([i-1, i], [bleu_means[models[i-1]], bleu_means[model]], + '-', color=colors[i], alpha=0.5) + +ax1.set_ylabel('Google BLEU Score') +ax1.set_title('Google BLEU Scores by Model') +ax1.set_xticks(range(len(models))) +ax1.set_xticklabels(models, rotation=45) +ax1.set_ylim(bottom=0) # Set y-axis to start at 0 +ax1.legend() +ax1.grid(True, alpha=0.3) + +# Plot for execution times +exec_means = stats[('execution_time', 'mean')] +exec_stds = stats[('execution_time', 'std')] + +for i, model in enumerate(models): + ax2.errorbar(i, exec_means[model], yerr=exec_stds[model], + fmt='o', color=colors[i], markersize=8, capsize=5, + label=model) + if i > 0: + ax2.plot([i-1, i], [exec_means[models[i-1]], exec_means[model]], + '-', color=colors[i], alpha=0.5) + +ax2.set_ylabel('Execution Time (seconds)') +ax2.set_title('Execution Times by Model') +ax2.set_xticks(range(len(models))) +ax2.set_xticklabels(models, rotation=45) +ax2.set_ylim(bottom=0) # Set y-axis to start at 0 +ax2.legend() +ax2.grid(True, alpha=0.3) + +plt.tight_layout() +plt.show() + +# Display the statistics table +print("\nDetailed Statistics:") +print(stats) + +``` + + + +![png](evals_files/evals_74_0.png) + + + + + Detailed Statistics: + feedback.google_bleu execution_time + mean std mean std + model + gpt-4o-mini 0.4038 0.0453 0.7815 0.0433 + gpt-3.5-turbo 0.3768 0.0424 0.8343 0.2208 + gpt-4-turbo 0.3519 0.0775 0.9122 0.1482 + + +The evaluation results show interesting differences between the models: + +- GPT-3.5-turbo achieved a Google BLEU score of 0.377 (±0.042) with average execution time of 0.83s (±0.22s) +- GPT-4-turbo scored slightly lower at 0.352 (±0.078) and was slower at 0.91s (±0.15s) +- GPT-4o-mini performed best with a BLEU score of 0.404 (±0.045) while being fastest at 0.78s (±0.04s) + +As expected, results suggest that the newer GPT-4o-mini model achieves better quality while maintaining lower latency compared to both GPT-3.5 and GPT-4 turbo variants. The standard deviations indicate that GPT-4-turbo has the most variable output quality, while GPT-4o-mini is most consistent in both quality and speed. Interestingly, the more advanced gpt-4-turbo model has lower BLEU scores but takes longer to execute. This suggests that model size and computational complexity don't necessarily correlate with better performance on this specific summarization task. Of course, this is a very simple task further increasing the number of experiment iterations will yield more accurate results. + + +Since we decided to upload result, we can also visualize the experiment results in LangSmith as shown in {numref}`langsmith`. + +```{figure} ../_static/evals/langsmith.png +--- +name: langsmith +alt: LangSmith Experiment Results +scale: 25% +align: center +--- +LangSmith Experiment Results +``` + +### PromptFoo + +Promptfoo {cite}`promptfoo2024` is an open-source framework designed for evaluating applications that utilize LLMs. Key features include: + +1. **Automated Testing**: Promptfoo provides automated testing capabilities, allowing developers to run custom evaluations tailored to their applications. + +2. **Custom Probes**: Developers can create custom probes to focus on specific use cases for instance decoupling prompts from tests cases. + +3. **User-Friendly CLI**: The framework features a command-line interface that supports live reloads and caching, facilitating rapid testing and iteration. + +We will use promptfoo's command line interface in the following examples. Please follow installation instructions [here](https://www.promptfoo.dev/docs/installation/#for-command-line-usage). + + +Evals are defined in a configuration file `promptfooconfig.yaml`, which defines elements such as providers, prompts, test cases, and assertions. + +In the following example, we will perform a two-step evaluation: + +1. Evaluate the performance of different LLM models given a set of constraints. +2. Evaluate the quality of different prompts for the best performing model from 1. + + +```python +import yaml + +# Read the YAML file +with open('promptfoo/model_comparison/promptfooconfig.yaml', 'r') as f: + config = yaml.safe_load(f) + +# Pretty print the YAML content +print(yaml.dump(config, default_flow_style=False, sort_keys=False)) + +``` + + description: Best model eval + prompts: + - file://prompt1.txt + providers: + - openai:gpt-4o-mini + - openai:gpt-4 + - openai:gpt-3.5-turbo + defaultTest: + assert: + - type: cost + threshold: 0.001 + - type: latency + threshold: 1000 + - type: python + value: len(output) < 200 + - type: llm-rubric + value: Does the summary look like it was written by an expert analyst [Yes/No]? + tests: file://tests.csv + + + +The configuration file shows how PromptFoo can be used to evaluate different LLM models. The YAML configuration defines three providers (GPT-4o-mini, GPT-4, and GPT-3.5-turbo) and sets up test assertions to validate their outputs. These assertions check important constraints: + +1. Cost efficiency: Each inference must cost less than $0.001 +2. Latency requirements: Response time must be under 1000ms +3. Output length: Generated text must be less than 200 characters +4. Output quality: An LLM-based rubric evaluates if the output appears to be written by an expert (uses openai's gpt-4o model) + +The prompts are loaded from an external file (prompt1.txt) and test cases are defined in tests.csv. This structured approach enables systematic evaluation of model performance across multiple decoupled dimensions. + + +```bash +promptfoo eval --no-cache --output eval.json +``` + +This command will run the evaluation and store the results in eval.json while making sure that the evaluation is not cached so we are measuring actual latency of the LLMs. The code below processes the PromptFoo evaluation results stored in eval.json. It reads the evaluation data from the JSON file and extracts key metrics including: + +- Provider name (e.g. gpt-4, gpt-3.5-turbo) +- Latency in milliseconds +- Token usage statistics +- Cost per request +- Number of passed/failed assertions +- Prompt token count +- Total number of API requests + + +```python +import json +import pandas as pd + +# Read the JSON file +with open('promptfoo/model_comparison/eval.json', 'r') as f: + eval_data = json.load(f) + +# Extract results into a list of dictionaries +results = [] +for prompt in eval_data['results']['prompts']: + result = { + 'provider': prompt['provider'], + 'latency_ms': prompt['metrics']['totalLatencyMs'], + 'token_usage': prompt['metrics']['tokenUsage']['total'], + 'cost': prompt['metrics']['cost'], + 'assert_pass': prompt['metrics']['assertPassCount'], + 'assert_fail': prompt['metrics']['assertFailCount'], + 'prompt_tokens': prompt['metrics']['tokenUsage']['prompt'], + 'num_requests': prompt['metrics']['tokenUsage']['numRequests'] + } + results.append(result) + +``` + + +```python +from IPython.display import display, Markdown +``` + + +```python +# Convert to DataFrame +df = pd.DataFrame(results) +print(df) +``` + +| Provider | Latency (ms) | Token Usage | Cost | Assert Pass | Assert Fail | Prompt Tokens | Num Requests | +|----------|--------------|-------------|------|-------------|-------------|---------------|--------------| +| openai:gpt-4o-mini | 2463 | 97 | $0.000035 | 6 | 2 | 52 | 2 | +| openai:gpt-4 | 3773 | 103 | $0.004620 | 4 | 4 | 52 | 2 | +| openai:gpt-3.5-turbo | 1669 | 95 | $0.000091 | 7 | 1 | 52 | 2 | + + +The evaluation results reveal interesting performance characteristics across different OpenAI models. GPT-3.5-turbo demonstrates the best overall performance given our criteria with the lowest latency (1669ms), lowest token usage (95), and highest number of passed assertions (7). While GPT-4 shows higher token usage (103) and latency (3773ms), it also has the highest cost per request ($0.00462). The GPT-4-mini variant offers a middle ground, with moderate latency and token usage, while maintaining relatively good assertion performance (6 passes). These results suggest that for this particular evaluation task, GPT-3.5-turbo provides the best balance of performance, reliability, and cost-effectiveness. + +Promptfool also offers a web interface for visualizing the evaluation results as shown in {numref}`promptfoo1`. + +```bash +promptfoo view +``` + +We can observe results per test case (i.e. section of the SEC filing) and per provider. Humans can also manually review the results and provide feedback as well as generate new test cases. + +```{figure} ../_static/evals/promptfoo1.png +--- +name: promptfoo1 +alt: PromptFoo Evaluation Results +scale: 30% +align: center +--- +PromptFoo evaluation results showing performance metrics across different models. +``` + +Now that we have established `GPT-3.5-turbo` as our model of choice given the minimum required criteria based on cost, latency and basic qualitative evaluation, we can compare the performance of different prompts as a next evaluation step. Can we improve the quality of the summaries by using different prompts? + +First, we redefine our evaluation criteria. We now would like to select the prompt that delivers the most "detailed" summaries. Our updated promptfoo configuration file is shown below. + + +```python +# Read the YAML file +with open('promptfoo/prompt_comparison/promptfooconfig.yaml', 'r') as f: + config = yaml.safe_load(f) + +# Pretty print the YAML content +print(yaml.dump(config, default_flow_style=False, sort_keys=False)) +``` + + description: Best model eval + prompts: + - file://prompt1.txt + - file://prompt2.txt + - file://prompt3.txt + providers: + - openai:gpt-3.5-turbo + defaultTest: + assert: + - type: llm-rubric + value: 'Evaluate the output based on how detailed it is. Grade it on a scale + of 0.0 to 1.0, where: + + Score of 0.1: Not much detail. + + Score of 0.5: Some detail. + + Score of 1.0: Very detailed. + + ' + tests: file://tests.csv + + + +Note that we are now passing 3 different prompts. And we have updated our assertions to check if the output is "detailed" by leveraging promptfoo's `llm-rubric` assertion which will run an LLM-as-a-Judge for evaluation. Now, let's define 3 prompt variations we would like to test aiming at improving the quality/detail of the summaries. + + +```python +# Display the prompt variations +from IPython.display import display, Markdown +prompt_files = ['prompt1.txt', 'prompt2.txt', 'prompt3.txt'] +prompt_content = [] + +for file in prompt_files: + with open(f'promptfoo/prompt_comparison/{file}', 'r') as f: + content = f.read().strip() + prompt_content.append(f"### {file}\n---\n{content}\n") + +display(Markdown("\n\n".join(prompt_content))) + +``` + + +### prompt1.txt +--- +'Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' + + +### prompt2.txt +--- +'ROLE: You are a financial analyst. TASK: Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' + + +### prompt3.txt +--- +'ROLE: You are a financial analyst. REQUIREMENTS: BE DETAILED. TASK: Generate a 1-liner summary of the Section {{section}} from an SEC filing: {{content}}' + + + +The first prompt matches our previous prompt. The second prompt adds a "financial analyst" role to the prompt. The third prompt expands on second prompt and add a requirement "BE DETAILED". + +We can now run the evaluation again. + +```bash +promptfoo eval --output eval.json +``` + + +```python +# Read the evaluation results from JSON file +import json +with open('promptfoo/prompt_comparison/eval.json', 'r') as f: + eval_data = json.load(f) + +# Create a list to store the data +data = [] + +# Extract results for each test case +for result in eval_data['results']['results']: + section = result['vars']['section'] + prompt_id = result['promptId'] + score = result['gradingResult']['score'] if 'gradingResult' in result else 0.0 + + # Find the corresponding prompt file + for prompt in eval_data['results']['prompts']: + if prompt['id'] == prompt_id: + prompt_file = prompt['label'].split(':')[0] + break + + # Add to data list + data.append([section, prompt_file, score]) + +# Convert to DataFrame +df_raw = pd.DataFrame(data, columns=['Section', 'Prompt', 'Score']) + +# Pivot to get desired format +df = df_raw.pivot(index='Section', columns='Prompt', values='Score').reset_index() +df = df[['Section', 'prompt1.txt', 'prompt2.txt', 'prompt3.txt']] + +display(Markdown("### Prompt Comparison Results by Section")) +print(df) + +``` + + +### Prompt Comparison Results by Section + + + Prompt Section prompt1.txt prompt2.txt prompt3.txt + 0 Legal Proceedings 0.1 0.5 1.0 + 1 Risk Factors 0.1 0.5 0.5 + + +The results show that prompt3.txt performs best for Legal Proceedings sections, achieving a perfect score of 1.0 compared to 0.5 for prompt2.txt and 0.1 for prompt1.txt. For Risk Factors sections, both prompt2.txt and prompt3.txt achieve moderate scores of 0.5, while prompt1.txt scores poorly at 0.1. This suggests that prompt3.txt is generally more effective at extracting detailed information, particularly for legal content. In summary, defining a Role and a requirement for the output to be detailed is a good way to improve the quality of the summaries at least for this specific task, model and criteria. + + +In conclusion, Promptfoo can serve as an effective LLM application evaluation tool particularly for its ability to decouple several components of the evaluation process. Hence enabling the user to focus on the most important aspects of the evaluation given the particular application and criteria making it a valuable and flexible tool for LLM application development. + +### Comparison + +{numref}`tool-comparison` provides a summarized comparative analysis of three open source frameworks for language models evaluation we have discussed: Lighteval, LangSmith, and Promptfoo. Each framework is assessed based on key features such as integration capabilities, customization options, ease of use, and the ability to facilitate human and LLM collaboration. + +```{table} Comparison of Lighteval, LangSmith, and Promptfoo +:name: tool-comparison +| Feature/Aspect | Lighteval | LangSmith | Promptfoo | +|----------------------|------------------------------------|------------------------------------|------------------------------------| +| **Integration** | Seamless with Hugging Face models, easy access to multiple inference engines, and remote evaluation (e.g., TGI servers, HF serverless models) | User-provided models, evaluators, and metrics | CLI-based, user-provided models via YAML | +| **Customization** | Flexible task and metric support, quick evaluation against state-of-the-art leaderboards | Easy setup of custom tasks and metrics with plain vanilla Python functions, lacks predefined tasks and metrics | Default and user-provided probes, metrics, and assertions | +| **Ease of Use** | User-friendly, minimal setup | User-friendly, minimal setup, includes UI for result visualization | Simple CLI, rapid testing, includes UI for result visualization | +| **Human/LLM Collaboration** | Model-based evaluation | Model-based evaluation | Supports human and model evaluators | +``` + +## Conclusion + +Language models have fundamentally transformed how software is developed and evaluated. Unlike conventional systems that produce predictable outputs, LLMs generate varied, probabilistic responses that defy traditional testing approaches. While developers accustomed to deterministic systems may find this shift challenging, continuing to rely on legacy testing methods is unsustainable. These frameworks were not designed to handle the inherent variability of LLM outputs and will ultimately prove inadequate. + +Success requires embracing this new paradigm by implementing comprehensive evals that cover the non-deterministic generative nature of LLMs - this is the new Product Requirements Document (PRD) - and cultivating an organizational mindset focused on iteration, experimentation and growth. + +The shift from traditional software testing to LLM evaluation is not just a change in tools but a transformation in mindset. Those who recognize and adapt to this shift will lead the way in harnessing the power of LLMs in software development. + + +[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa] + +[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/ +[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png +[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC-BY--NC--SA-4.0-lightgrey.svg + +``` +@misc{tharsistpsouza2024tamingllms, + author = {Tharsis T. P. Souza}, + title = {Taming LLMs: A Practical Guide to LLM Pitfalls with Open Source Software}, + year = {2024}, + chapter = {The Evals Gap}, + journal = {GitHub repository}, + url = {https://github.com/souzatharsis/tamingLLMs) +} +``` ## References ```{bibliography} :filter: docname in docnames diff --git a/tamingllms/markdown/frontiers.md b/tamingllms/markdown/frontiers.md index 8c26087..b8fa114 100644 --- a/tamingllms/markdown/frontiers.md +++ b/tamingllms/markdown/frontiers.md @@ -1,3 +1,7 @@ +we live in the sample, not the universe +-- Professor Christopher C. Geczy, Wharton + + Trends @@ -22,4 +26,6 @@ A New World https://learning.oreilly.com/library/view/designing-large-language/9781098150495/ch09.html#id275 +HBR: https://www.linkedin.com/posts/norbertgehrke_hbr-generative-ai-activity-7281253868238188544-k9MI?utm_source=share&utm_medium=member_desktop + diff --git a/tamingllms/markdown/intro.md b/tamingllms/markdown/intro.md index a3879a7..ab10fe5 100644 --- a/tamingllms/markdown/intro.md +++ b/tamingllms/markdown/intro.md @@ -35,11 +35,15 @@ Throughout this book, we'll tackle the following (non-exhaustive) list of critic 3. **Testing Complexity**: Traditional software testing methodologies break down when dealing with non-deterministic and generative systems, requiring new approaches. -4. **Safety and Alignment**: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment. +4. **Safety**: LLMs can generate harmful, biased, or inappropriate content, requiring robust safeguards and monitoring systems to ensure safe deployment. -5. **Vendor Lock-in**: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions. +5. **Alignment**: LLMs are next-token prediction models, which means they are not aligned with the user's preferences by default. -6. **Cost Optimization**: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization. +6. **Vendor Lock-in**: Cloud-based LLM providers can create significant dependencies and lock-in through their proprietary APIs and infrastructure, making it difficult to switch providers or self-host solutions. + +7. **Cost Optimization**: The computational and financial costs of operating LLM-based systems can quickly become prohibitive without careful management, and optimization. + +We conclude with a discussion on the future of LLMs and the challenges that will arise as we move forward. ## A Practical Approach @@ -171,7 +175,7 @@ Now that your environment is set up, let's begin our exploration of LLM challeng ## About the Author -Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (*incoming*) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students & working professionals to help create a more diverse global AI1 ecosystem. +Tharsis Souza (Ph.D. Computer Science, UCL University of London) is a computer scientist and product leader specializing in AI-based products. He is a Lecturer at Columbia University's Master of Science program in Applied Analytics, (*incoming*) Head of Product, Equities at Citadel, and former Senior VP at Two Sigma Investments. He mentors under-represented students & working professionals to help create a more diverse global AI ecosystem. With over 15 years of experience delivering technology products across startups and Fortune 500 companies, he is also an author of numerous scholarly publications and a frequent speaker at academic and business conferences. Grounded on academic background and drawing from practical experience building and scaling up products powered by language models at early-stage startups, major institutions as well as contributing to open source projects, he brings a unique perspective on bridging the gap between LLMs promised potential and their practical implementation challenges to enable the next generation of AI-powered products. diff --git a/tamingllms/markdown/toc.md b/tamingllms/markdown/toc.md index 6b39520..c343795 100644 --- a/tamingllms/markdown/toc.md +++ b/tamingllms/markdown/toc.md @@ -43,4 +43,14 @@ Abstract: *The current discourse around Large Language Models (LLMs) tends to fo [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/ [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png -[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC-BY--NC--SA-4.0-lightgrey.svg \ No newline at end of file +[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC-BY--NC--SA-4.0-lightgrey.svg + +``` +@misc{tharsistpsouza2024tamingllms, + author = {Tharsis T. P. Souza}, + title = {Taming LLMs: A Practical Guide to LLM Pitfalls with Open Source Software}, + year = {2024}, + journal = {GitHub repository}, + url = {https://github.com/souzatharsis/tamingLLMs) +} +``` \ No newline at end of file diff --git a/tamingllms/notebooks/cost.ipynb b/tamingllms/notebooks/cost.ipynb index 4cd6849..5a1bc87 100644 --- a/tamingllms/notebooks/cost.ipynb +++ b/tamingllms/notebooks/cost.ipynb @@ -315,7 +315,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Quantization is a powerful technique for reducing the memory footprint of LLMs. This can be exemplified by the case of LLaMa 3.3 70B as quantized by {cite}`unsloth2024llama3` [^unsloth]. The model's memory requirements vary significantly based on the quantization level used as demonstrated in {numref}`quantized`.\n", + "Quantization[^visual-quantization] is a powerful technique for reducing the memory footprint of LLMs. This can be exemplified by the case of LLaMa 3.3 70B as quantized by {cite}`unsloth2024llama3` [^unsloth]. The model's memory requirements vary significantly based on the quantization level used as demonstrated in {numref}`quantized`.\n", + "\n", + "[^visual-quantization]: Maarten Grootendorst provides the best visual guide for model quantization {cite}`grootendorst2024quantization`.\n", "\n", "[^unsloth]: Unsloth runs a business of making LLMs fine-tuning streamlined. Check them out at [unsloth.ai](https://unsloth.ai).\n", "\n", diff --git a/tamingllms/notebooks/evals.ipynb b/tamingllms/notebooks/evals.ipynb index 002eb4a..68b2390 100644 --- a/tamingllms/notebooks/evals.ipynb +++ b/tamingllms/notebooks/evals.ipynb @@ -853,7 +853,7 @@ "4. **Run Evaluations**: Use the judge model to score outputs. Consider using a large and/or more capable model as a judge to provide more nuanced assessments.\n", "5. **Aggregate and Analyze Results**: Interpret scores to refine applications.\n", "\n", - "```{figure} ../_static/evals/llm_judge.svg\n", + "```{figure} ../_static/evals/llm_judge.png\n", "---\n", "name: llm_judge\n", "alt: Conceptual Overview\n", @@ -1187,11 +1187,11 @@ "\n", "An alternative to the above approaches is to use humans to directly evaluate the LLM-judges themselves. A notable example of this is [Judge Arena](https://judgearena.com/) {cite}`judgearena2024`, which is a platform that allows users to vote on which AI model made the better evaluation. Under this approach, the performance of the LLM evaluator is given by the (blind) evaluation of humans who perform the voting on randomly generated pairs of LLM judges as depicted in {numref}`meta2`. Only after submitting a vote, users can see which models were actually doing the judging.\n", "\n", - "```{figure} ../_static/evals/meta2.svg\n", + "```{figure} ../_static/evals/meta2.png\n", "---\n", "name: meta2\n", "alt: Human-in-the-loop meta evaluation Conceptual Overview\n", - "scale: 60%\n", + "scale: 75%\n", "align: center\n", "---\n", "Human-in-the-loop Meta Evaluation.\n", diff --git a/tamingllms/notebooks/input.ipynb b/tamingllms/notebooks/input.ipynb index a8d6b4c..8397a78 100644 --- a/tamingllms/notebooks/input.ipynb +++ b/tamingllms/notebooks/input.ipynb @@ -12,11 +12,6 @@ "-- Steve Jobs\n", "```\n", "```{contents}\n", - "```\n", - "\n", - "\n", - "```{note}\n", - "This Chapter is Work-in-Progress.\n", "```" ] }, @@ -26,20 +21,22 @@ "source": [ "## Introduction\n", "\n", - "Large Language Models face several critical challenges in effectively processing input data. While advances in long-context language models (LCLMs) {cite}`lee2024longcontextlanguagemodelssubsume` have expanded the amount of information these systems can process simultaneously, significant challenges remain in managing and effectively utilizing extended inputs. \n", + "While advances in long-context language models (LCs) {cite}`lee2024longcontextlanguagemodelssubsume` have expanded the amount of information these systems can process, significant challenges remain in managing and effectively utilizing extended data inputs:\n", "\n", - "LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results {cite}`tan2024htmlraghtmlbetterplain`. They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy {cite}`amayuelas-etal-2024-knowledge`. LLMs also struggle with less common but important information showing a systematic loss of long-tail knowledge {cite}`kotha2024understanding`.\n", + "- LLMs are sensitive to input formatting and structure, requiring careful data preparation to achieve optimal results {cite}`he2024doespromptformattingimpact, liu2024enhancingllmscognitionstructurization, tan2024htmlraghtmlbetterplain`.\n", + "- They operate with knowledge cutoffs, providing potentially stale or outdated information that may not reflect current reality and demonstrate problems with temporal knowledge accuracy {cite}`amayuelas-etal-2024-knowledge`.\n", + "- LLMs also face \"lost-in-the-middle\" problems {cite}`wu2024longdocumentsummaryevaluation` and struggle with less common but important information showing a systematic loss of long-tail knowledge {cite}`kotha2024understanding`.\n", "\n", - "Motivated by these challenges, this chapter explores two key components:\n", + "Motivated by these challenges, this chapter explores two key input data components:\n", "\n", - "1. Data Parsing: Parsing documents into a unified format that is suitable for LLMs to process.\n", + "1. Data Parsing and Chunking: Parsing and chunking documents into a unified format that is suitable and more manageable for LLMs to process.\n", "2. Retrieval Augmentation: Augmenting LLMs with the ability to retrieve relevant, recent, and specialized information.\n", "\n", "In data parsing, we will explore some useful open source tools that help transform data into LLM-compatible formats, demonstrating their impact through a case study of structured information extraction from complex PDFs. In a second case study, we will introduce some chunking strategies to help LLMs process long inputs and implement a particular technique called Chunking with Contextual Linking the enables contextually relevant chunk processing.\n", "\n", - "In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation). Through a detailed case study, we build a RAG system for querying live codebases, illustrating methods to bridge static model knowledge with dynamic information requirements.\n", + "In retrieval augmentation, we will explore how to enhance LLMs with semantic search capabilities for incorporating external context using RAGs (Retrieval Augmented Generation) while discussing whether RAGs will be really needed in the future given the rise of long-context language models.\n", "\n", - "In our last case study, we build a quiz generator using a LLM with large context window. We will explore some additional relevant techniques such as prompt caching and response verification through citations.\n", + "While RAGs are useful for incorporating external context, they are not a silver bullet nor a mandatory component for all LLM applications. In our last case study, we leverage long-context windows to build a quiz generator from a large knowledge base. We will also explore some additional relevant techniques such as prompt caching and response verification through citations.\n", "\n", "By the chapter's conclusion, readers will possess relevant knowledge of input data management strategies for LLMs and practical expertise in selecting and implementing appropriate approaches and tools for specific use cases." ] @@ -50,9 +47,11 @@ "source": [ "## Parsing Documents\n", "\n", - "Building robust data ingestion and preprocessing pipelines is essential for any LLM application. This section explores tools and frameworks that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the performance of the LLM.\n", + "Data parsing and formatting play a critical role in LLMs performance {cite}`he2024doespromptformattingimpact, liu2024enhancingllmscognitionstructurization, tan2024htmlraghtmlbetterplain`. Hence, building robust data ingestion and preprocessing pipelines is essential for any LLM application. \n", + "\n", + "This section explores open source tools that streamline input data processing, in particular for parsing purposes, providing a unified interface for converting diverse data formats into standardized representations that LLMs can effectively process. By abstracting away format-specific complexities, they allow developers to focus on core application logic rather than parsing implementation details while maximizing the LLM performance.\n", "\n", - "We will cover open source tools and frameworks that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs also discussing how the quality of the parser can impact LLM's performance." + "We will cover open source tools that provide parsing capabilities for a wide range of data formats. And we will demonstrate how some of these tools can be used to extract structured information from complex PDFs demonstrating how the quality of the parser can impact LLM's performance." ] }, { @@ -61,7 +60,7 @@ "source": [ "### MarkItDown\n", "\n", - "MarkItDown is a Python package and CLI too developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.\n", + "MarkItDown {cite}`microsoft2024markitdown` is a Python package and CLI tool developed by the Microsoft AutoGen team for converting various file formats to Markdown. It supports a wide range of formats including PDF, PowerPoint, Word, Excel, images (with OCR and EXIF metadata), audio (with transcription), HTML, and other text-based formats making it a useful tool for document indexing and LLM-based applications.\n", "\n", "Key features:\n", "- Simple command-line and Python API interfaces\n", @@ -81,7 +80,7 @@ "\n", "### Docling\n", "\n", - "Docling is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.\n", + "Docling {cite}`docling2024github` is a Python package developed by IBM Research for parsing and converting documents into various formats. It provides advanced document understanding capabilities with a focus on maintaining document structure and formatting.\n", "\n", "Key features:\n", "- Support for multiple document formats (PDF, DOCX, PPTX, XLSX, Images, HTML, etc.)\n", @@ -101,13 +100,6 @@ "```" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Frameworks-Based Parsing\n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -119,17 +111,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "A common use case where document parsing matters is to structured data extraction from documents, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite:p}`merrill2024`. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see {numref}`forecast`)\n", + "A common use case where document parsing matters is structured data extraction, particularly in the presence of complex formatting and layout. In this case study, we will extract the economic forecasts from Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite}`merrill2024`. We will focus on page 7 of this document, which contains several economic variables organized in a mix of tables, text and images (see {numref}`forecast`).\n", "\n", "\n", "```{figure} ../data/input/forecast.png\n", "---\n", "name: forecast\n", "alt: Forecast\n", - "scale: 50%\n", + "scale: 45%\n", "align: center\n", "---\n", - "Forecast\n", + "Merrill Lynch's CIO Capital Market Outlook released on December 16, 2024 {cite}`merrill2024`\n", "```" ] }, @@ -184,7 +176,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "How similar are the two results? We can use use Levenshtein distance to measure the similarity between the two results. We will also calculate a naive score using the `SequenceMatcher` from the `difflib` package, which is a simple measure of the similarity between two strings based on the number of matches in the longest common subsequence." + "How similar are the two results? We can use use Levenshtein distance to measure the similarity between the two results. We will also calculate a naive score using the `SequenceMatcher` from the `difflib` package, which is a simple measure of similarity between two strings based on the number of matches in the longest common subsequence." ] }, { @@ -256,7 +248,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "It turns out that the two results are quite different, with a similarity score of about 13.98% and 17.77% for Levenshtein and `SequenceMatcher` respectively." + "It turns out that the two results are quite different, with a similarity score of about 13.98% and 17.77% for Levenshtein and `SequenceMatcher`, respectively." ] }, { @@ -351,7 +343,7 @@ "scale: 45%\n", "align: center\n", "---\n", - "Forecast 2025\n", + "Merrill Lynch's CIO Economic Forecasts.\n", "```\n", "\n", "We will define a `Forecast` pydantic model to represent an economic forecast composed of a `financial_variable` and a `financial_forecast`. We will also define a `EconForecast` pydantic model to represent the list of economic forecasts we want to extract from the document.\n" @@ -375,7 +367,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We write a simple function to extract the economic forecasts from the document using an LLM model (with structured output) with the following prompt template, where `extract_prompt` is kind of data the user would like to extract and `doc` is the input document to analyze." + "We write a simple function to extract the economic forecasts from the document using an LLM model (with structured output) with the following prompt template, where `extract_prompt` represents the kind of data the user would like to extract and `doc` is the input document to analyze." ] }, { @@ -682,7 +674,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now, let's focus on the asset class weightings. We will extract the asset class weightings from the document and compare the results from MarkItDown and Docling. The information now is presented in a quite different structure. The CIO view information is represented in a spectrum from starting with \"Underweight\", passing through \"Neutral\" and reaching \"Overweight\". The actual view is marked by some colored dots in the chart. Let's see if we can extract this information from the document.\n", + "Now, let's focus on the asset class weightings. We will extract the asset class weightings from the document and compare the results from MarkItDown and Docling. The information now is presented in a quite different structure as we can see in {ref}`asset_class`. The CIO view information is represented in a spectrum starting with \"Underweight\", passing through \"Neutral\" and reaching \"Overweight\". The actual view is marked by some colored dots in the chart. Let's see if we can extract this relatively more complex information from the document.\n", "```{figure} ../_static/input/asset_class.png\n", "---\n", "name: asset_class\n", @@ -729,7 +721,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now we construct a DataFrame to compare the results from MarkItDown and Docling with an added \"true_value\" column containing the true values from the document, which we extracted manually from the chart." + "We construct a DataFrame to compare the results from MarkItDown and Docling with an added \"true_value\" column containing the true values from the document, which we extracted manually from the chart. This enables us to calculate accuracy of the structured data extraction task in case." ] }, { @@ -936,7 +928,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Docling performs significantly better at 93.33% accuracy missing only one value. MarkItDown achieves 53.33% accuracy, struggling with nuanced asset class weightings. In this case, Docling's structured parsed output did help the LLM to extract the information more accurately compared to MarkItDown's unstructured output. Hence, in this case, the strategy used to parse the data did impact the LLM's ability to extract the information. A more robust analysis would run data extraction on a large sample data a number of repeated runs to estimate error rates." + "We observe that Docling performs significantly better at 93.33% accuracy missing only one value. MarkItDown achieves 53.33% accuracy struggling with nuanced asset class weightings. In this case, Docling's structured parsed output did help the LLM to extract the information more accurately compared to MarkItDown's unstructured output. Hence, in this case, the strategy used to parse the data did impact the LLM's ability to extract structured information. Having said that, it is important to mention that a more robust analysis would run data extraction on a large sample data a number of repeated runs to estimate error rates since results are non-deterministic." ] }, { @@ -945,8 +937,8 @@ "source": [ "What if we want to systematically extract all tables from the document? We can use Docling to do that by simply accessing the `tables` attribute of the `DocumentConverter` object.\n", "\n", - "By doing that, we observe that Docling extracted 7 tables from the document. Exporting tables from top down and left to right in order of appearance in the document.\n", - "Below, we can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.\n" + "By doing that, we observe that Docling extracted 7 tables from the document exporting tables from top down and left to right in order of appearance in the document.\n", + "Below, we display the first two and the last tables. We can see the first table successfully extracted for Equities forecasts, the second one for Fixed Income forecasts as well as the last table, which contains CIO Equity Sector Views.\n" ] }, { @@ -1593,7 +1585,14 @@ "- The description mentions \"overweight positions in certain sectors such as Utilities and Financials\" but looking at the CIO Equity Sector Views, both these sectors show neutral positions, not overweight positions.\n", "- For fixed income, the description cites a \"10-Year (4.03%)\" yield, but the image shows the 30-Year Yield at 4.03%, while the 10-Year Yield is actually 4.40%.\n", "\n", - "Arguably, the description's inaccuracies could be a consequence of the underlying LLM model's inability to process the image. Further research is needed to determine if this is the case." + "Arguably, the description's inaccuracies could be a consequence of the underlying LLM model's inability to process the image.\n", + "\n", + "We have covered MarkitDown and Docling as examples of open source tools that can help developers parse input data into a suitable format to LLMs. Other relevant open source tools worth mentioning include:\n", + "- Unstructured.io {cite}`unstructured2024github`: A Python library for unstructured data extraction.\n", + "- FireCrawl {cite}`mendable2024firecrawl`: A Fast and Efficient Web Crawler for LLM Training Data.\n", + "- LlamaParse {cite}`llamaparse2024github`: Llamaindex's data parsing solution.\n", + "\n", + "The choice of tool depends on the specific requirements of the application and the nature of the input data. This choice should be taken as a critical decision of any data intensive LLM-based application and deserves dedicated research and evidence-based experimentation.\n" ] }, { @@ -1602,75 +1601,152 @@ "source": [ "## Retrieval-Augmented Generation\n", "\n", - "RAG is a technique that allows LLMs to retrieve information from a knowledge base to answer questions. It is a popular technique for building LLM applications that require knowledge-intensive tasks {cite}`lewis2021retrievalaugmentedgenerationknowledgeintensivenlp`.\n", + "What happens if we asked ChatGPT who's the author of the book \"Taming LLMs\"?\n", "\n", - "RAG utilizes a retrieval system to fetch external knowledge and augment the LLM. It has proved effective in mitigating hallucinations of LLMs {cite}`10.1145/3589334.3645481, ni-etal-2024-llms`." + "\n" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 1, "metadata": {}, + "outputs": [], "source": [ - "## Case Studies\n", - "\n", - "This section presents three case studies that demonstrate practical solutions to common LLM limitations:\n", - "\n", - "First, Content Chunking with Contextual Linking showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.\n", + "from dotenv import load_dotenv\n", + "import os\n", "\n", - "Second, a Retrieval Augmented Generation case study addresses the challenge of stale or outdated model knowledge. By implementing semantic search over a GitHub repository, this example demonstrates how to augment LLM responses with current, accurate information - allowing users to query and receive up-to-date answers about code repository contents.\n", + "# Load environment variables from .env file\n", + "load_dotenv()\n", "\n", - "Third, the final case study builds a Quiz generator with citations. This case study explores some additional input management techniques that become particularly useful when long context window is available. This includes implementing prompt caching for efficiency and adding citations to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality." + "from openai import OpenAI\n", + "client = OpenAI()\n", + "model = \"gpt-4o-mini\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "question = \"Who's the Author of the Book Taming LLMs?\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The book \"Taming LLMs\" is authored by *G. Arulkumaran, H. M. B. P. D. Karthikeyan, and I. A. M. Almasri.* If you need more information about the book or its contents, feel free to ask!\n" + ] + } + ], + "source": [ + "response = client.chat.completions.parse(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": question}\n", + " ]\n", + ")\n", + "response.choices[0].message.content" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Case Study I: Content Chunking with Contextual Linking\n", + "Turns out ChatGPT hallucinates. A quick web search on the before mentioned authors yields no results. In fact, those authors names are made up. And of course the correct answer would have been \"Tharsis Souza\".\n", "\n", - "Content chunking with contextual linking is a technique to break down long-form content into smaller, manageable chunks while keeping chunk-specific context. This approach tackles three problems:\n", - "1. The LLM's inability to process long inputs to do context-size limits\n", - "2. The LLM's inability to generate long-form content due to the `max_output_tokens` limitation.\n", - "3. The LLM's inability to maintain coherence and context when generating responses per chunks\n", + "LLMs only have access to the information they have been trained on, which of course has been fixed at a point in time. Hence, LLMs operate with stale data. The problem gets exacerbated by the fact that LLMs are trained to provide an answer even if the answer is unknown by them, hence leading to hallucinations. \n", "\n", - "Here, we exemplify this technique by following these steps:\n", - "1. **Chunking the Content**: The input content is split into smaller chunks. This allows the LLM to process each chunk individually, focusing on generating a complete and detailed response for that specific section of the input.\n", + "One solution to this problem is to use a retrieval system to fetch information from a knowledge base to provide recent and relevant context to user queries using so-called Retrieval Augmented Generation (RAG) system.\n", "\n", - "2. **Maintaining Context**: Each chunk is linked with contextual information from the previous chunks. This helps in maintaining the flow and coherence of the content across multiple chunks.\n", + "RAG utilizes a retrieval system to fetch external knowledge and augment LLM's context. It is a useful technique for building LLM applications that require domain-specific information or knowledge-intensive tasks {cite}`lewis2021retrievalaugmentedgenerationknowledgeintensivenlp`. It has also proved effective in mitigating LLMs hallucinations {cite}`10.1145/3589334.3645481, ni-etal-2024-llms`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above example, a RAG would help with hallucinations by grounding the LLM's response to information provided in the knowledge base. Additional common use cases of RAG systems include:\n", "\n", - "3. **Generating Linked Prompts**: For each chunk, a prompt is generated that includes the chunk's content and its context. This prompt is then used to generate the output for that chunk.\n", + "1. **Enterprise Knowledge Management**: RAG enables organizations to synthesize answers from diverse internal data sources like documents, databases, and communication channels. This creates a unified knowledge interface that can accurately answer questions using the organization's own data.\n", + "2. **Document Processing and Analysis**: RAG excels at extracting and analyzing information from complex documents like financial reports, presentations, and spreadsheets. The system can enable LLMs to understand context and relationships across different document types and formats.\n", + "3. **Intelligent Customer Support**: By combining knowledge bases with conversational abilities, RAG powers chatbots and support systems that can maintain context across chat history, provide accurate responses, and handle complex customer queries while reducing hallucinations.\n", + "4. **Domain-Specific Applications**: RAG allows LLMs to be equipped with specialized knowledge in fields like medicine, law, or engineering by retrieving information from domain-specific literature, regulations, and technical documentation. This enables accurate responses aligned with professional standards and current best practices.\n", + "5. **Code Documentation and Technical Support**: RAG can help developers by retrieving relevant code examples, API documentation, and best practices from repositories and documentation, which often suffer updates frequently, enabling more accurate and contextual coding assistance.\n", "\n", - "4. **Combining the Outputs**: The outputs of all chunks are combined to form the final long-form content.\n", + "If LLMs alone work on stale, general-purpose data with the added challenge of being prone to hallucinations, RAG systems serve as an added capability enabling LLMs to work on recent, domain-specific knowledge increasing the likelihood of LLMs to provide responses that are factual and relevant to user queries.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### RAG Pipeline\n", "\n", - "Let's examine an example implementation of this technique.\n", + "RAG architectures vary but they all share the same goal: to retrieve relevant information from a knowledge base to maximize the LLM's ability to effectively and accurately respond to prompts, particularly when the answer requires out-of-training data information.\n", "\n", - "#### Generating long-form content\n", + "We will introduce key components of a RAG system one by one leading to a full canonical RAG pipeline at the end that ultimately will be used to answer our original question \"Who's the author of the book Taming LLMs?\", accurately.\n", "\n", - "- Goal: Generate a long-form report analyzing a company's financial statement.\n", - "- Input: A company's 10K SEC filing.\n", + "The following basic components will be introduced (see {numref}`rag_pipeline` for a visual representation):\n", + "- Vector Database\n", + " - Embeddings\n", + " - Indexing\n", + "- Retrieval System including re-ranking\n", + "- LLM Augmented Generation via in-context learning\n", "\n", - "```{figure} ../_static/structured_output/diagram1.png\n", + "Data extraction, parsing and chunking are also part of a canonical pipeline as we prepare the knowledge base. Those are concepts that we have already explored in the previous sections, hence we will be succinct here. We will start by preparing the knowledge base.\n", + "\n", + "```{figure} ../_static/input/rag.svg\n", "---\n", - "name: content-chunking-with-contextual-linking\n", - "alt: Content Chunking with Contextual Linking\n", - "scale: 50%\n", + "name: rag_pipeline\n", + "alt: RAG Pipeline\n", + "scale: 99%\n", "align: center\n", "---\n", - "Content Chunking with Contextual Linking Schematic Representation.\n", - "```\n", - "\n", - "The diagram in {numref}`content-chunking-with-contextual-linking` illustrates the process we will follow for handling long-form content generation with Large Language Models through \"Content Chunking with Contextual Linking.\" It shows how input content is first split into manageable chunks using a chunking function (e.g. `CharacterTextSplitter` with `tiktoken` tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.\n", + "Simplified RAG Pipeline\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Preparing the Knowledge Base\n", "\n", - "**Step 1: Chunking the Content**\n", + "Every RAG system requires a knowledge base. In our case, the knowledge base is a set of documents that we equip the LLM to answer our authorship question.\n", "\n", - "There are different methods for chunking, and each of them might be appropriate for different situations. However, we can broadly group chunking strategies in two types:\n", - "- **Fixed-size Chunking**: This is the most common and straightforward approach to chunking. We simply decide the number of tokens in our chunk and, optionally, whether there should be any overlap between them. In general, we will want to keep some overlap between chunks to make sure that the semantic context doesn’t get lost between chunks. Fixed-sized chunking may be a reasonable path in many common cases. Compared to other forms of chunking, fixed-sized chunking is computationally cheap and simple to use since it doesn’t require the use of any specialied techniques or libraries.\n", - "- **Content-aware Chunking**: These are a set of methods for taking advantage of the nature of the content we’re chunking and applying more sophisticated chunking to it. Examples include:\n", - " - **Sentence Splitting**: Many models are optimized for embedding sentence-level content. Naturally, we would use sentence chunking, and there are several approaches and tools available to do this, including naive splitting (e.g. splitting on periods), NLTK, and spaCy.\n", - " - **Recursive Chunking**: Recursive chunking divides the input text into smaller chunks in a hierarchical and iterative manner using a set of separators.\n", - " - **Semantic Chunking**: This is a class of methods that leverages embeddings to extract the semantic meaning present in your data, creating chunks that are made up of sentences that talk about the same theme or topic.\n", + "Hence, we will compose our knowledge base by adding the web version of (some of the chapters of) the book \"Taming LLMs\", namely:\n", + "- Introduction\n", + "- Structured Output\n", + "- Input (this very chapter)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "book_url = \"https://www.tamingllms.com/\"\n", + "chapters = [\"markdown/intro.html\",\n", + " \"notebooks/structured_output.html\",\n", + " \"notebooks/input.html\"]\n", "\n", - " Here, we will utilize `langchain` for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters {cite}`langchain_text_splitters` such as JSON-, Markdown- and HTML-based or split by token. We will use the `CharacterTextSplitter` with `tiktoken` as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.\n" + "chapter_urls = [f\"{book_url}/{chapter}\" for chapter in chapters]\n", + "chapter_ids = [chapter.split(\"/\")[-1].replace(\".html\", \"\") for chapter in chapters]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We use `Docling` to download the chapters from the web and parse them as markdown files." ] }, { @@ -1679,36 +1755,57 @@ "metadata": {}, "outputs": [], "source": [ - "def get_chunks(text: str, chunk_size: int, chunk_overlap: int) -> list:\n", - " \"\"\"\n", - " Split input text into chunks of specified size with specified overlap.\n", + "chapters = [converter.convert(chapter_url).document.export_to_markdown() for chapter_url in chapter_urls]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we are ready to store the chapters in a vector database to enable the construction of a retrieval system." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Vector Database\n", "\n", - " Args:\n", - " text (str): The input text to be chunked.\n", - " chunk_size (int): The maximum size of each chunk in tokens.\n", - " chunk_overlap (int): The number of tokens to overlap between chunks.\n", + "Vector databases are specialized databases designed to store and retrieve high-dimensional vectors, which are mathematical representations of data like text, images, or audio. These databases are optimized for similarity search operations, making them ideal for embeddings-based retrieval systems.\n", "\n", - " Returns:\n", - " list: A list of text chunks.\n", - " \"\"\"\n", - " from langchain_text_splitters import CharacterTextSplitter\n", + "A typical pipeline involving a vector database includes the following:\n", "\n", - " text_splitter = CharacterTextSplitter.from_tiktoken_encoder(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n", - " return text_splitter.split_text(text)\n" + "1. Input data is converted into \"documents\" forming a collection representing our knowledge base\n", + "2. Each document is converted into an embedding which are stored in the vector database\n", + "3. Embeddings are indexed in the vector database for efficient similarity search\n", + "4. The vector database is queried to retrieve the most relevant documents\n", + "5. The retrieved documents are used to answer questions\n", + "\n", + "Vector databases are not a mandatory component of RAG systems. In fact, we can use a simple list of strings to store the chapters (or their chunks) and then use the LLM to answer questions about the document. However, vector databases are useful for RAG applications as they enable:\n", + "- Fast similarity search for finding relevant context\n", + "- Efficient storage of document embeddings\n", + "- Scalable retrieval for large document collections\n", + "- Flexible querying with metadata filters\n", + "\n", + "In that way, RAG applications can be seen as a retrieval system that uses a vector database to store and retrieve embeddings of documents, which in turn are used to augment LLMs with contextually relevant information as we will see in the next sections.\n", + "\n", + "Here, we will use ChromaDB {cite}`chromadb2024docs` as an example of an open source vector database but key features and concepts we cover are applicable to other vector databases, in general.\n", + "\n", + "ChromaDB is a popular open-source vector database that offers:\n", + "- Efficient storage and retrieval of embeddings\n", + "- Support for metadata and filtering\n", + "- Easy integration with Python applications\n", + "- In-memory and persistent storage options\n", + "- Support for multiple distance metrics\n", + "\n", + "Other notable vector databases include Weaviate, FAISS, and Milvus." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Step 2: Writing the Base Prompt Template**\n", - "\n", - "We will write a base prompt template which will serve as a foundational structure for all chunks, ensuring consistency in the instructions and context provided to the language model. The template includes the following parameters:\n", - "- `role`: Defines the role or persona the model should assume.\n", - "- `context`: Provides the background information or context for the task.\n", - "- `instruction`: Specifies the task or action the model needs to perform.\n", - "- `input_text`: Contains the actual text input that the model will process.\n", - "- `requirements`: Lists any specific requirements or constraints for the output." + "In ChromaDB, we can create a vector database client as follows." ] }, { @@ -1717,26 +1814,17 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain_core.prompts import PromptTemplate\n", - "def get_base_prompt_template() -> str:\n", - " \n", - " base_prompt = \"\"\"\n", - " ROLE: {role}\n", - " CONTEXT: {context}\n", - " INSTRUCTION: {instruction}\n", - " INPUT: {input}\n", - " REQUIREMENTS: {requirements}\n", - " \"\"\"\n", - " \n", - " prompt = PromptTemplate.from_template(base_prompt)\n", - " return prompt" + "import chromadb\n", + "chroma_client = chromadb.Client()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We will write a simple function that returns an `LLMChain` which is a simple `langchain` construct that allows you to chain together a combination of prompt templates, language models and output parsers." + "This will create a vector database in memory. We can also create a persistent vector database by specifying a path to a directory or alternatively by using a cloud-based vector database service like AWS, Azure or GCP. We will use a vector database in memory for this example.\n", + "\n", + "Next, we create a collection to store the embeddings of the chapters. And add our chapters as documents to the collection as follows." ] }, { @@ -1745,45 +1833,19 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_community.chat_models import ChatLiteLLM\n", + "collection = chroma_client.create_collection(name=\"taming_llms\")\n", "\n", - "def get_llm_chain(prompt_template: str, model_name: str, temperature: float = 0):\n", - " \"\"\"\n", - " Returns an LLMChain instance using langchain.\n", - "\n", - " Args:\n", - " prompt_template (str): The prompt template to use.\n", - " model_name (str): The name of the model to use.\n", - " temperature (float): The temperature setting for the model.\n", - "\n", - " Returns:\n", - " llm_chain: An instance of the LLMChain.\n", - " \"\"\"\n", - " \n", - " from dotenv import load_dotenv\n", - " import os\n", - "\n", - " # Load environment variables from .env file\n", - " load_dotenv()\n", - " \n", - " api_key_label = model_name.split(\"/\")[0].upper() + \"_API_KEY\"\n", - " llm = ChatLiteLLM(\n", - " model=model_name,\n", - " temperature=temperature,\n", - " api_key=os.environ[api_key_label],\n", - " )\n", - " llm_chain = prompt_template | llm | StrOutputParser()\n", - " return llm_chain" + "collection.add(\n", + " documents=chapters,\n", + " ids=chapter_ids\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Step 3: Constructing Dynamic Prompt Parameters**\n", - "\n", - "Now, we will write a function (`get_dynamic_prompt_template`) that constructs prompt parameters dynamically for each chunk." + "We are ready to query the collection. We write a simple function that takes the collection, input query and number of retrieved results as argument and returns the retrieved documents." ] }, { @@ -1792,59 +1854,19 @@ "metadata": {}, "outputs": [], "source": [ - "from typing import Dict\n", - "def get_dynamic_prompt_params(prompt_params: Dict, \n", - " part_idx: int, \n", - " total_parts: int,\n", - " chat_context: str,\n", - " chunk: str) -> str:\n", - " \"\"\"\n", - " Construct prompt template dynamically per chunk while maintaining the chat context of the response generation.\n", - " \n", - " Args:\n", - " prompt_params (Dict): Original prompt parameters\n", - " part_idx (int): Index of current conversation part\n", - " total_parts (int): Total number of conversation parts\n", - " chat_context (str): Chat context from previous parts\n", - " chunk (str): Current chunk of text to be processed\n", - " Returns:\n", - " str: Dynamically constructed prompt template with part-specific params\n", - " \"\"\"\n", - " dynamic_prompt_params = prompt_params.copy()\n", - " # saves the chat context from previous parts\n", - " dynamic_prompt_params[\"context\"] = chat_context\n", - " # saves the current chunk of text to be processed as input\n", - " dynamic_prompt_params[\"input\"] = chunk\n", - " \n", - " # Add part-specific instructions\n", - " if part_idx == 0: # Introduction part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating the Introduction part of a long report.\n", - " Don't cover any topics yet, just define the scope of the report.\n", - " \"\"\"\n", - " elif part_idx == total_parts - 1: # Conclusion part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating the last part of a long report. \n", - " For this part, first discuss the below INPUT. Second, write a \"Conclusion\" section summarizing the main points discussed given in CONTEXT.\n", - " \"\"\"\n", - " else: # Main analysis part\n", - " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", - " You are generating part {part_idx+1} of {total_parts} parts of a long report.\n", - " For this part, analyze the below INPUT.\n", - " Organize your response in a way that is easy to read and understand either by creating new or merging with previously created structured sections given in CONTEXT.\n", - " \"\"\"\n", - " \n", - " return dynamic_prompt_params" + "def query_collection(collection, query_text, n_results=3):\n", + " results = collection.query(\n", + " query_texts=[query_text],\n", + " n_results=n_results\n", + " )\n", + " return results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "**Step 4: Generating the Report**\n", - "\n", - "Finally, we will write a function that generates the actual report by calling the `LLMChain` with the dynamically updated prompt parameters for each chunk and concatenating the results at the end." + "We write a simple query, enquiring the purpose of the book." ] }, { @@ -1853,24 +1875,907 @@ "metadata": {}, "outputs": [], "source": [ - "def generate_report(input_content: str, llm_model_name: str, \n", - " role: str, requirements: str,\n", - " chunk_size: int, chunk_overlap: int) -> str:\n", - " # stores the parts of the report, each generated by an individual LLM call\n", - " report_parts = [] \n", - " # split the input content into chunks\n", - " chunks = get_chunks(input_content, chunk_size, chunk_overlap)\n", - " # initialize the chat context with the input content\n", - " chat_context = input_content\n", - " # number of parts to be generated\n", - " num_parts = len(chunks)\n", - "\n", - " prompt_params = {\n", - " \"role\": role, # user-provided\n", - " \"context\": \"\", # dinamically updated per part\n", - " \"instruction\": \"\", # dynamically updated per part\n", - " \"input\": \"\", # dynamically updated per part\n", - " \"requirements\": requirements #user-priovided\n", + "q = \"What is the purpose of this book?\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print([['intro', 'input', 'structured_output']])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As response, we obtain an object that contains several attributes including:\n", + "- `documents`: The actual documents retrieved from the collection, i.e. the chapters \n", + "- `ids`: The ids of the documents retrieved from the collection\n", + "- `distances`: The distances of the documents to the query vector\n", + "\n", + "We can see that the chapters \"Introduction\", \"Input\" and \"Structured Output\" are retrieved from the collection ordered by their distance to the query vector.\n", + "\n", + "We observe that the Introduction chapter is the most relevant one as it ranks first, followed by the Input and Structured Output chapters. Indeed, the purpose of the book is included in the Introduction chapter demonstrating the retrieval system successfully retrieved the most relevant document to the input query, in this simple example.\n", + "\n", + "In order to understand how the retrieval system works and how the \"distance to the query vector\" is computed, we need to understand how the embeddings are created and how the documents are indexed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Embeddings**\n", + "\n", + "Embeddings are numerical representations of data (including text, images, audio, etc.) that capture meaning, allowing machines to process data quantitatively. Each embedding can be represented as a vector of floating-point numbers such that embedded data with similar meanings produce similar, i.e. close, vectors [^embeddings_definition].\n", + "\n", + "[^embeddings_definition]: Bengio et al. {cite}`bengio2014representationlearningreviewnew` provide serves as an excellent reference for representation learning in general including embeddings. OpenAI provides a good intro to Embeddings for developers {cite}`openai2024embeddings`\n", + "\n", + "For text data, small distances among embeddings suggest high semantic relatedness and large distances suggest low semantic relatedness among the embedded texts. HuggingFace provides a leaderboard of embeddings models {cite}`huggingface2024mteb`, which are ranked by in dimensions such as classification, clustering and reranking performance.\n", + "\n", + "Behind the scenes, ChromaDB is using the model `all-MiniLM-L6-v2` by default [^chroma_embeddings] to create embeddings for the input documents and the query (see {numref}`embedding`). This model is available in `sentence_transformers` {cite}`sentencetransformers2024website`. Let's see how it works.\n", + "\n", + "```{figure} ../_static/input/embedding.svg\n", + "---\n", + "name: embedding\n", + "alt: Embedding\n", + "scale: 70%\n", + "align: center\n", + "---\n", + "Embedding\n", + "```\n", + "\n", + "[^chroma_embeddings]: ChromaDB enables custom embedding functions and provides a list of wrappers around commonly used embedding models and APIs https://docs.trychroma.com/docs/embeddings/embedding-functions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "\n", + "embedding_model = SentenceTransformer('all-MiniLM-L6-v2')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We replicate what ChromaDB did by embedding our chapters as well as input query using sentence transformers." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(4, 384)\n" + ] + } + ], + "source": [ + "q = \"What is the purpose of this book?\"\n", + "docs_to_embed = [q] + chapters\n", + "embeddings = embedding_model.encode(docs_to_embed)\n", + "print(embeddings.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As a result, we obtain four 384-dimensional vectors representing our embeddings (one for each of the three chapters and one for the input query).\n", + "\n", + "Now we can calculate similarity among the embeddings. By default, sentence transformers uses cosine similarity to calculate the similarity between embeddings. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "similarities = embedding_model.similarity(embeddings, embeddings)\n", + "similarities" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```\n", + "tensor([[1.0000, 0.4402, 0.3022, 0.4028],\n", + " [0.4402, 1.0000, 0.6606, 0.5807],\n", + " [0.3022, 0.6606, 1.0000, 0.6313],\n", + " [0.4028, 0.5807, 0.6313, 1.0000]])\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's visualize the similarity matrix to better understand the relationships between our documents in {numref}`similarities`. The top row of the matrix represents the similarity of the input query against all chapters. That's exactly what we previously obtained by querying ChromaDB which returned a response with documents ranked by similarity to input query.\n", + "\n", + "```{figure} ../_static/input/similarity.png\n", + "---\n", + "name: similarities\n", + "alt: Similarity matrix heatmap\n", + "scale: 90%\n", + "align: center\n", + "---\n", + "Similarity matrix heatmap showing relationships among query and chapters.\n", + "``` \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calculating similarity among embeddings can become computationally intensive if brute force is used, i.e. pair-wise computation, as the number of documents grows in the knowledge base. Indexing is a technique to help address this challenge." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Indexing**\n", + "\n", + "Indexing is a crucial optimization technique that makes similarity searches faster and more efficient.\n", + "\n", + "Without indexing, finding similar vectors would require an exhaustive search - comparing a query vector against every single vector in the database. For large datasets, this becomes prohibitively slow.\n", + "\n", + "Common indexing strategies include:\n", + "\n", + "1. **Tree-based Indexes**\n", + " - Examples include KD-trees and Ball trees\n", + " - Work by partitioning the vector space into hierarchical regions\n", + " - Effective for low-dimensional data but suffer from the \"curse of dimensionality\"\n", + "\n", + "2. **Graph-based Indexes**\n", + " - HNSW (Hierarchical Navigable Small World) is a prominent example\n", + " - Creates a multi-layered graph structure for navigation\n", + " - Offers excellent search speed but requires more memory\n", + "\n", + "3. **LSH (Locality-Sensitive Hashing)**\n", + " - Uses hash functions that map similar vectors to the same buckets\n", + " - More memory-efficient than graph-based methods\n", + " - May sacrifice some accuracy for performance\n", + "\n", + "4. **Quantization-based Indexes**\n", + " - Product Quantization compresses vectors by encoding them into discrete values\n", + " - Reduces memory footprint significantly\n", + " - Good balance between accuracy and resource usage\n", + "\n", + "HNSW is the underlying library for Chroma vector indexing and search {cite}`chromadb2024hnsw`. HNSW provides fast searches with high accuracy but uses more memory. LSH and quantization methods offer better memory efficiency but may sacrifice some precision.\n", + "\n", + "But are indexing + basic embeddings based similarity sufficient? Often not, as we will see next as we cover reranking technique." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Reranking\n", + "\n", + "Let's go back to querying our vector database. Here are additional examples." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we write a query about how to get structured output from LLMs. Successfully retrieving the \"Structured Output\" chapter from the book as top result." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['structured_output', 'input', 'intro']]\n" + ] + } + ], + "source": [ + "q = \"How to get structured output from LLMs?\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we would like to obtain a tutorial on `Docling`, a tool we covered in this very chapter. However, we fail to obtain the correct chapter and instead obtain the \"Introduction\" chapter as a result." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['intro', 'input', 'structured_output']]\n" + ] + } + ], + "source": [ + "q = \"Docling tutorial\"\n", + "res = query_collection(collection, q)\n", + "res.get(\"ids\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Retrieval systems solely based on vector similarity search might miss semantic relevance. That brings the need for techniques that can improve accuracy of the retrieval system. One such technique is re-ranking.\n", + "\n", + "Re-ranking is a method that can improve accuracy of the retrieval system by re-ranking the retrieved documents based on their relevance to the input query.\n", + "\n", + "In the following, we will use the `sentence_transformers` library to re-rank the retrieved documents based on their relevance to the input query. We utilize the `CrossEncoder` model to re-rank the documents. Cross-Encoder models are more accurate at judging relevance at the cost of speed compared to basic vector-based similarity. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can implement a reranking step in a RAG system using a Cross-Encoder model in the following steps:\n", + "\n", + "1. First, we initialize the Cross-Encoder model:\n", + "```python\n", + "model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2', max_length=512)\n", + "```\n", + "- Uses the `ms-marco-MiniLM-L-6-v2` model, which is specifically trained for passage reranking\n", + "- Sets a maximum sequence length of 512 tokens\n", + "- This model is designed to score the relevance between query-document pairs\n", + "\n", + "2. Then we perform the reranking:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0]])\n", + "```\n", + "- Creates pairs of (query, document) for each retrieved document\n", + "- The model predicts relevance scores for each pair\n", + "- Higher scores indicate better semantic match between query and document\n", + "\n", + "3. Finally, we select the best match:\n", + "```python\n", + "print(res[\"documents\"][0][np.argmax(scores)])\n", + "```\n", + "- `np.argmax(scores)` finds the index of the highest scoring document\n", + "- Uses that index to retrieve the most relevant document\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We obtain the following scores for the retrieved documents (\"intro\", \"input\", \"structured_output\"), the higher the score, the more relevant the document is in relation to the input query.\n", + "\n", + "```\n", + "array([-8.52623 , -6.328738, -8.750055], dtype=float32)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As a result, we obtain the index of the highest scoring document, which corresponds to the \"input\" chapter. Hence, the re-ranking step successfully retrieved the correct chapter." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input\n" + ] + } + ], + "source": [ + "print(res[\"ids\"][0][np.argmax(scores)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ideia is to first run semantic similarity on embeddings, which should be fast but potentially inaccurate, and then run re-raking on the top-k results, which is more accurate but slower. By doing so, we can balance the speed and accuracy of the retrieval system.\n", + "\n", + "Hence, instead of going over all retrieved documents:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0]])\n", + "```\n", + "We would run reranking on the TOPK results, where TOPK <<< number of documents:\n", + "```python\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0][:TOPK]])\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### LLMs with RAG\n", + "\n", + "We are finally ready to use the retrieval system to help the LLM answer our authorship question. A common way to integrate RAGs with LLMs is via in-context learning. With in-context learning the LLM learns from the retrieved documents by providing them in the context window as represented in {numref}`incontext`. This is accomplished via a prompt template structure as follows.\n", + "\n", + "```{figure} ../_static/input/incontext.svg\n", + "---\n", + "name: incontext\n", + "alt: In-Context Learning\n", + "scale: 95%\n", + "align: center\n", + "---\n", + "RAG LLM with In-Context Learning\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + " rag_system_prompt_template = f\"\"\"\n", + " You are a helpful assistant that answers questions based on the provided CONTEXT.\n", + "\n", + " CONTEXT: {context}\n", + " \"\"\"\n", + "\n", + " user_prompt_template = f\"\"\"\n", + " QUESTION: {input}\n", + " \"\"\"\n", + "```\n", + "\n", + "This prompt strategy demonstrates a common in-context learning pattern where retrieved documents are incorporated into the LLM's context to enhance response accuracy and relevance. The prompt structure typically consists of a system prompt that:\n", + "- Sets clear boundaries for the LLM to use information from the provided context\n", + "- Includes the retrieved documents as context\n", + "\n", + "This approach:\n", + "- Reduces hallucination by grounding responses in source documents\n", + "- Improves answer relevance by providing contextually relevant information to the LLM\n", + "\n", + "The context variable is typically populated with the highest-scoring document(s) from the retrieval step, while the input variable contains the user's original query." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def RAG_qa(client, model, context, input):\n", + " \"\"\"\n", + " Generate a summary of input using a given model\n", + " \"\"\"\n", + " rag_system_prompt_template = f\"\"\"You are a helpful assistant that answers questions based on the provided CONTEXT.\n", + "\n", + " CONTEXT: {context}\n", + " \"\"\"\n", + " \n", + " response = client.chat.completions.create(\n", + " model=model,\n", + " messages=[{\"role\": \"system\", \"content\": rag_system_prompt_template},\n", + " {\"role\": \"user\", \"content\": f\"QUESTION: {input}\"}]\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we set the LLM." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from dotenv import load_dotenv\n", + "import os\n", + "\n", + "# Load environment variables from .env file\n", + "load_dotenv()\n", + "\n", + "from openai import OpenAI\n", + "client = OpenAI()\n", + "model = \"gpt-4o-mini\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we run the retrieve step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "res = query_collection(collection, q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we run the re-ranking step setting it to consider the `TOPK` retrieved documents." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TOPK = 2\n", + "scores = model.predict([(q, doc) for doc in res[\"documents\"][0][:TOPK]])\n", + "res_reranked = res[\"documents\"][0][np.argmax(scores)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We then pass the top document as context and invoke the LLM with our RAG-based template leading to a successful response." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The author of the book \"Taming LLMs\" is Tharsis Souza.\n" + ] + } + ], + "source": [ + "answer = RAG_qa(model, res_reranked[0], question)\n", + "answer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we motivated the use of RAGs as a tool to equip LLMs with relevant context and provided a canonical implementation of its core components. RAGs, however, can be implemented in many shapes and forms and entire books have been written about them. We point the user to additional resources if more specialized techniques and architectures are needed {cite}`kimothi2024simpleguiderag, athinaai2024ragcookbooks, diamant2024ragtechniques, hands-on-llms-book`.\n", + "\n", + "Next, we discuss RAGs challenges and limitations and conclude our RAGs section envisioning the future of RAGs challenged by the rise of long-context language models.\n", + "\n", + "### Challenges and Limitations\n", + "\n", + "While RAG systems offer powerful capabilities for enhancing LLM responses with external knowledge, they face several significant challenges and limitations that require careful consideration:\n", + " \n", + "- **Data Quality and Accuracy**: The effectiveness of RAG systems fundamentally depends on the quality and reliability of their knowledge sources. When these sources contain inaccurate, outdated, biased, or incomplete information, the system's responses become unreliable. This challenge is particularly acute when dealing with rapidly evolving topics or when sourcing information from unverified channels.\n", + " \n", + "- **Computational Cost and Latency**: Implementing RAG systems at scale presents computational and operational challenges. The process of embedding documents, maintaining vector databases, and performing similarity searches across large knowledge bases demands computational, budget and operational resources. In real-time applications, these requirements can introduce noticeable latency, potentially degrading the user experience and limiting practical applications.\n", + " \n", + "- **Explainability and Evaluation**: The complexity of RAG systems, arising from the intricate interaction between retrieval mechanisms and generative models, makes it difficult to trace and explain their reasoning processes. Traditional evaluation metrics often fail to capture the nuanced aspects of RAG performance, such as contextual relevance and factual consistency. This limitation hampers both system improvement and stakeholder trust. Readers are encouraged to read Chapter {ref}`evals` for general LLM evaluation issues as well as consider tools such as Ragas {cite}`ragas2024evaluation` for RAG evaluation.\n", + " \n", + "- **Hallucination Management**: Though RAG systems help ground LLM responses in source documents, they do not completely eliminate hallucinations. The generative component may still produce content that extrapolates beyond or misinterprets the retrieved context. This risk becomes particularly concerning when the system confidently presents incorrect information with apparent source attribution.\n", + "\n", + "\n", + "Moreover, recent research has shed light on critical limitations of key techniques used in RAGs systems. A relevant finding pertains to reranking, which has shown {cite}`jacob2024drowningdocumentsconsequencesscaling`:\n", + "\n", + "- **Diminishing Returns**: Performance degrades as the number of documents (K) increases, sometimes performing worse than basic retrievers when dealing with large datasets.\n", + "- **Poor Document Discrimination**: Rerankers can be misled by irrelevant documents, sometimes assigning high scores to content with minimal relevance to the query.\n", + "- **Consistency Issues**: Performance and relative rankings between different rerankers can vary significantly depending on the number of documents being processed.\n", + "\n", + "### Will RAGs exist in the future?\n", + "\n", + "This question is posed as we contrast RAGs with LLMs with long-context windows (LC).\n", + "\n", + "Recent research has shed light on this specific point {cite}`li2024retrievalaugmentedgenerationlongcontext`, suggesting that, on the one hand, RAGs can be seen as a cost-effective alternative to LC models:\n", + "* RAGs offer lower computational cost compared to LC due to the significantly shorter input length required for processing.\n", + "* This cost-efficiency arises because RAG reduces the number of input tokens to LLMs, which of course reduces usage cost as pricing is based on the number of input (and output) tokens.\n", + "\n", + "On the other hand, this RAG benefit is achieved at the cost of performance:\n", + "* Recent advancements in LLMs, in particular with Gemini-1.5 and GPT-4o models, demonstrate capabilities in understanding long contexts directly, which enables them to outperform RAG in terms of average performance\n", + "* LC models can process extremely long contexts, such as Gemini 1.5 which can handle up to 1 million tokens, and these models benefit from large-scale pretraining to develop strong long-context capabilities.\n", + "\n", + "This cost-performance trade-off is illustrated in {numref}`LC`, where LC models outperform RAGs in terms of average performance while RAGs are more cost-effective.\n", + "\n", + "```{figure} ../_static/input/LC.png\n", + "---\n", + "name: LC\n", + "alt: Long-Context LLMs for Superior Performance\n", + "scale: 50%\n", + "align: center\n", + "---\n", + "Long-Context LLMs demonstrate superior performance while RAGs are more cost-effective {cite}`li2024retrievalaugmentedgenerationlongcontext`.\n", + "```\n", + "\n", + "{numref}`LC` also shows a model called \"SELF-ROUTE\" which combines RAG and LC by routing queries based on model self-reflection. This is a hybrid approach that reduces computational costs while maintaining performance comparable to LC. The advantage of SELF-ROUTE is most significant for smaller values of *k*, where *k* is the number of retrieved text chunks, and SELF-ROUTE shows a marked improvement in performance over RAG, while as k increases the performance of RAG and SELF-ROUTE approaches that of LC.\n", + "\n", + "Another example of a hybrid approach that combines the benefits of both LC and RAGs is RetroLLM {cite}`li2024retrollmempoweringlargelanguage`, which is a unified framework that integrates retrieval and generation into a single process, enabling language models to generate fine-grained evidence directly from a corpus. The key contribution is that this approach delivers those benefits while eliminating the need for a separate retriever, addressing limitations of traditional RAG methods. Experimental results demonstrate RetroLLM's superior performance compared to traditional RAG methods, across both in-domain and out-of-domain tasks. It also achieves a significant reduction in token consumption due to its fine-grained evidence retrieval.\n", + "\n", + "A relevant development in this area is the introduction of LOFT {cite}`lee2024longcontextlanguagemodelssubsume`, a benchmark to assess this paradigm shift from RAGs to LCs, using real-world tasks requiring context up to millions of tokens. Evidence suggests LCs can deliver performance with simplified pipelines compared to RAGs, particularly for tasking requiring multi-hop reasoning over long contexts when using Chain-of-Thought {cite}`wei2023chainofthoughtpromptingelicitsreasoning`. However, LCs can still be outperformed by specialized retrievers, in particular Gecko, a specialized model fine-tuned on extensive text retrieval and similarity tasks.\n", + "\n", + "Bottom-line: Do we really need RAGs? The answer is conditional:\n", + "\n", + "* **RAG may be relevant when cost-effectiveness is a key requirement** and where the model needs to access vast amounts of external knowledge without incurring high computational expenses. However, as LLMs context window sizes increase and LLMs cost per input token is decreases, RAG may not be as relevant as it was before.\n", + "* **Long-context LLMs are superior when performance is the primary concern**, and the model needs to handle extensive texts that require deep contextual understanding and reasoning.\n", + "* **Hybrid approaches like SELF-ROUTE are valuable as they combine the strengths of RAG and LC** offering a practical balance between cost and performance, especially for applications where both factors are critical.\n", + "\n", + "Ultimately, the choice between RAG, LC, or a hybrid method depends on the specific requirements of the task, available resources, and the acceptable trade-off between cost and performance.\n", + "\n", + "In a later case study, we demonstrate the power of LCs as we construct a Quiz generator with citations over a large knowledge base without the use of chunking nor RAGs.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## A Note on Frameworks\n", + "\n", + "We have covered a few open source tools for parsing data and provided a canonical RAG pipeline directly using an open source VectorDB together with an LLM. There is a growing number of frameworks that offer similar functionality wrapping the same core concepts at a higher level of abstraction. The two most popular ones are `Langchain` and `LlamaIndex`. \n", + "\n", + "For instance, the code below shows how to use `LlamaIndex`'s `LlamaParse` for parsing input documents, which offers support for a wide range of file formats (e.g. .pdf, .pptx, .docx, .xlsx, .html). We we can see that the code is very similar to the one we used for `MarkitDown` and `Docling`.\n", + "\n", + "```python\n", + "from llama_parse import LlamaParse\n", + "\n", + "# Initialize the parser\n", + "parser = LlamaParse(\n", + " api_key=\"llx-your-api-key-here\",\n", + " result_type=\"markdown\", # Can be \"markdown\" or \"text\"\n", + " verbose=True\n", + ")\n", + "\n", + "documents = parser.load_data([\"./doc1.pdf\", \"./doc2.pdf\"])\n", + "```\n", + "\n", + "\n", + "\n", + "As another example, the code below replicates our ChromaDB-based retrieval system using `LlamaIndex` {cite}`llamaindex2024storing`.\n", + "\n", + "As we can see, similar concepts are used in both frameworks:\n", + "- Documents to represent elements of the knowledge base\n", + "- Collections to store the documents\n", + "- Indexing of embeddings in the VectorDB and finally\n", + "- Querying the VectorDB to retrieve the documents\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "import chromadb\n", + "from llama_index.core import VectorStoreIndex, SimpleDirectoryReader\n", + "from llama_index.vector_stores.chroma import ChromaVectorStore\n", + "from llama_index.core import StorageContext\n", + "\n", + "# load some documents\n", + "documents = SimpleDirectoryReader(\"./data\").load_data()\n", + "\n", + "# initialize client, setting path to save data\n", + "db = chromadb.PersistentClient(path=\"./chroma_db\")\n", + "\n", + "# create collection\n", + "chroma_collection = db.get_or_create_collection(\"tamingllms\")\n", + "\n", + "# assign chroma as the vector_store to the context\n", + "vector_store = ChromaVectorStore(chroma_collection=chroma_collection)\n", + "storage_context = StorageContext.from_defaults(vector_store=vector_store)\n", + "\n", + "# create your index\n", + "index = VectorStoreIndex.from_documents(\n", + " documents, storage_context=storage_context\n", + ")\n", + "\n", + "# create a query engine and query\n", + "query_engine = index.as_query_engine()\n", + "response = query_engine.query(\"Who is the author of Taming LLMs?\")\n", + "print(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Frameworks are useful for quickly prototyping RAG systems and for building applications on top of them as they provide a higher level of abstraction and integration with third-party libraries. However, the underlying concepts are the same as the ones we have covered in this chapter. More often than not, problems arise when developers either do not understand the underlying concepts or fail to understand the details of the implement behind the abstractions provided by the framework. Therefore, it is recommended to try and start your implementation using lower level tools as much as possible and only when (i) the underlying problem as well as (ii) the desired solution are well understood, then consider moving to higher level frameworks if really needed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Case Studies\n", + "\n", + "This section presents two case studies to complement topics we have covered in this chapter in the context of managing input data for LLMs.\n", + "\n", + "First, we cover content chunking, in particular Content Chunking with Contextual Linking which showcases how intelligent chunking strategies can overcome both context window and output token limitations. This case study illustrates techniques for breaking down and reassembling content while maintaining coherence, enabling the generation of high-quality long-form outputs despite model constraints.\n", + "\n", + "Second, we build a Quiz generator with citations using long context window. Not all knowledge intense applications require RAGs. In this case study, we show how to use long context window as well as some additional input management techniques such as prompt caching for efficiency and reference management to enhance response accuracy and verifiability. These approaches show how to maximize the benefits of larger context models while maintaining response quality." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Case Study I: Content Chunking with Contextual Linking\n", + "\n", + "Content chunking is commonly used to breakdown long-form content into smaller, manageable chunks. In the context of RAGs, this can be helpful not only to help the retrieval system find more contextually relevant documents but also lead to a more cost efficient LLM solution since fewer tokens are processed in the context window. Furthermore, semantic chunking can increase accuracy of RAG systems {cite}`zenml2024rag`.\n", + "\n", + "Content chunking with contextual linking is a chunking technique that seeks to split input content while keeping chunk-specific context, hence allowing the LLM to maintain coherence and context when generating responses per chunks. In that way, this technique tackles two key problems:\n", + "1. The LLM's inability to process long inputs to do context-size limits\n", + "2. The LLM's inability to maintain coherence and context when generating responses per chunks\n", + "\n", + "As a consequence, a third problem is also tackled: LLM's inability to generate long-form content due to the `max_output_tokens` limitation. Since we generate responses per chunk, as we will see later, we end up with a solution that is capable of generating long-form content while maintaining coherence.\n", + "\n", + "We exemplify this technique by following these steps:\n", + "1. **Chunking the Content**: The input content is split into smaller chunks. This allows the LLM to process each chunk individually, focusing on generating a complete and detailed response for that specific section of the input.\n", + "\n", + "2. **Maintaining Context**: Each chunk is linked with contextual information from the previous chunks. This helps in maintaining the flow and coherence of the content across multiple chunks.\n", + "\n", + "3. **Generating Linked Prompts**: For each chunk, a prompt is generated that includes the chunk's content and its context. This prompt is then used to generate the output for that chunk.\n", + "\n", + "4. **Combining the Outputs**: The outputs of all chunks are combined to form the final long-form content.\n", + "\n", + "Let's examine an example implementation of this technique.\n", + "\n", + "#### Generating long-form content\n", + "\n", + "- Goal: Generate a long-form report analyzing a company's financial statement.\n", + "- Input: A company's 10K SEC filing.\n", + "\n", + "```{figure} ../_static/structured_output/diagram1.png\n", + "---\n", + "name: content-chunking-with-contextual-linking\n", + "alt: Content Chunking with Contextual Linking\n", + "scale: 50%\n", + "align: center\n", + "---\n", + "Content Chunking with Contextual Linking Schematic Representation.\n", + "```\n", + "\n", + "The diagram in {numref}`content-chunking-with-contextual-linking` illustrates the process we will follow for handling long-form content generation with Large Language Models through \"Content Chunking with Contextual Linking.\" It shows how input content is first split into manageable chunks using a chunking function (e.g. `CharacterTextSplitter` with `tiktoken` tokenizer), then each chunk is processed sequentially while maintaining context from previous chunks. For each chunk, the system updates the context, generates a dynamic prompt with specific parameters, makes a call to the LLM chain, and stores the response. After all chunks are processed, the individual responses are combined with newlines to create the final report, effectively working around the token limit constraints of LLMs while maintaining coherence across the generated content.\n", + "\n", + "**Step 1: Chunking the Content**\n", + "\n", + "There are different methods for chunking, and each of them might be appropriate for different situations. However, we can broadly group chunking strategies in two types:\n", + "- **Fixed-size Chunking**: This is the most common and straightforward approach to chunking. We simply decide the number of tokens in our chunk and, optionally, whether there should be any overlap between them. In general, we will want to keep some overlap between chunks to make sure that the semantic context doesn’t get lost between chunks. Fixed-sized chunking may be a reasonable path in many common cases. Compared to other forms of chunking, fixed-sized chunking is computationally cheap and simple to use since it doesn’t require the use of any specialied techniques or libraries.\n", + "- **Content-aware Chunking**: These are a set of methods for taking advantage of the nature of the content we’re chunking and applying more sophisticated chunking to it. Examples include:\n", + " - **Sentence Splitting**: Many models are optimized for embedding sentence-level content. Naturally, we would use sentence chunking, and there are several approaches and tools available to do this, including naive splitting (e.g. splitting on periods), NLTK, and spaCy.\n", + " - **Recursive Chunking**: Recursive chunking divides the input text into smaller chunks in a hierarchical and iterative manner using a set of separators.\n", + " - **Semantic Chunking**: This is a class of methods that leverages embeddings to extract the semantic meaning present in your data, creating chunks that are made up of sentences that talk about the same theme or topic.\n", + "\n", + " Here, we will utilize `langchain` for a content-aware sentence-splitting strategy for chunking. Langchain offers several text splitters {cite}`langchain_text_splitters` such as JSON-, Markdown- and HTML-based or split by token. We will use the `CharacterTextSplitter` with `tiktoken` as our tokenizer to count the number of tokens per chunk which we can use to ensure that we do not surpass the input token limit of our model.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def get_chunks(text: str, chunk_size: int, chunk_overlap: int) -> list:\n", + " \"\"\"\n", + " Split input text into chunks of specified size with specified overlap.\n", + "\n", + " Args:\n", + " text (str): The input text to be chunked.\n", + " chunk_size (int): The maximum size of each chunk in tokens.\n", + " chunk_overlap (int): The number of tokens to overlap between chunks.\n", + "\n", + " Returns:\n", + " list: A list of text chunks.\n", + " \"\"\"\n", + " from langchain_text_splitters import CharacterTextSplitter\n", + "\n", + " text_splitter = CharacterTextSplitter.from_tiktoken_encoder(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n", + " return text_splitter.split_text(text)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 2: Writing the Base Prompt Template**\n", + "\n", + "We will write a base prompt template which will serve as a foundational structure for all chunks, ensuring consistency in the instructions and context provided to the language model. The template includes the following parameters:\n", + "- `role`: Defines the role or persona the model should assume.\n", + "- `context`: Provides the background information or context for the task.\n", + "- `instruction`: Specifies the task or action the model needs to perform.\n", + "- `input_text`: Contains the actual text input that the model will process.\n", + "- `requirements`: Lists any specific requirements or constraints for the output." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.prompts import PromptTemplate\n", + "def get_base_prompt_template() -> str:\n", + " \n", + " base_prompt = \"\"\"\n", + " ROLE: {role}\n", + " CONTEXT: {context}\n", + " INSTRUCTION: {instruction}\n", + " INPUT: {input}\n", + " REQUIREMENTS: {requirements}\n", + " \"\"\"\n", + " \n", + " prompt = PromptTemplate.from_template(base_prompt)\n", + " return prompt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will write a simple function that returns an `LLMChain` which is a simple `langchain` construct that allows you to chain together a combination of prompt templates, language models and output parsers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_community.chat_models import ChatLiteLLM\n", + "\n", + "def get_llm_chain(prompt_template: str, model_name: str, temperature: float = 0):\n", + " \"\"\"\n", + " Returns an LLMChain instance using langchain.\n", + "\n", + " Args:\n", + " prompt_template (str): The prompt template to use.\n", + " model_name (str): The name of the model to use.\n", + " temperature (float): The temperature setting for the model.\n", + "\n", + " Returns:\n", + " llm_chain: An instance of the LLMChain.\n", + " \"\"\"\n", + " \n", + " from dotenv import load_dotenv\n", + " import os\n", + "\n", + " # Load environment variables from .env file\n", + " load_dotenv()\n", + " \n", + " api_key_label = model_name.split(\"/\")[0].upper() + \"_API_KEY\"\n", + " llm = ChatLiteLLM(\n", + " model=model_name,\n", + " temperature=temperature,\n", + " api_key=os.environ[api_key_label],\n", + " )\n", + " llm_chain = prompt_template | llm | StrOutputParser()\n", + " return llm_chain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 3: Constructing Dynamic Prompt Parameters**\n", + "\n", + "Now, we will write a function (`get_dynamic_prompt_template`) that constructs prompt parameters dynamically for each chunk." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Dict\n", + "def get_dynamic_prompt_params(prompt_params: Dict, \n", + " part_idx: int, \n", + " total_parts: int,\n", + " chat_context: str,\n", + " chunk: str) -> str:\n", + " \"\"\"\n", + " Construct prompt template dynamically per chunk while maintaining the chat context of the response generation.\n", + " \n", + " Args:\n", + " prompt_params (Dict): Original prompt parameters\n", + " part_idx (int): Index of current conversation part\n", + " total_parts (int): Total number of conversation parts\n", + " chat_context (str): Chat context from previous parts\n", + " chunk (str): Current chunk of text to be processed\n", + " Returns:\n", + " str: Dynamically constructed prompt template with part-specific params\n", + " \"\"\"\n", + " dynamic_prompt_params = prompt_params.copy()\n", + " # saves the chat context from previous parts\n", + " dynamic_prompt_params[\"context\"] = chat_context\n", + " # saves the current chunk of text to be processed as input\n", + " dynamic_prompt_params[\"input\"] = chunk\n", + " \n", + " # Add part-specific instructions\n", + " if part_idx == 0: # Introduction part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating the Introduction part of a long report.\n", + " Don't cover any topics yet, just define the scope of the report.\n", + " \"\"\"\n", + " elif part_idx == total_parts - 1: # Conclusion part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating the last part of a long report. \n", + " For this part, first discuss the below INPUT. Second, write a \"Conclusion\" section summarizing the main points discussed given in CONTEXT.\n", + " \"\"\"\n", + " else: # Main analysis part\n", + " dynamic_prompt_params[\"instruction\"] = f\"\"\"\n", + " You are generating part {part_idx+1} of {total_parts} parts of a long report.\n", + " For this part, analyze the below INPUT.\n", + " Organize your response in a way that is easy to read and understand either by creating new or merging with previously created structured sections given in CONTEXT.\n", + " \"\"\"\n", + " \n", + " return dynamic_prompt_params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**Step 4: Generating the Report**\n", + "\n", + "Finally, we will write a function that generates the actual report by calling the `LLMChain` with the dynamically updated prompt parameters for each chunk and concatenating the results at the end." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def generate_report(input_content: str, llm_model_name: str, \n", + " role: str, requirements: str,\n", + " chunk_size: int, chunk_overlap: int) -> str:\n", + " # stores the parts of the report, each generated by an individual LLM call\n", + " report_parts = [] \n", + " # split the input content into chunks\n", + " chunks = get_chunks(input_content, chunk_size, chunk_overlap)\n", + " # initialize the chat context with the input content\n", + " chat_context = input_content\n", + " # number of parts to be generated\n", + " num_parts = len(chunks)\n", + "\n", + " prompt_params = {\n", + " \"role\": role, # user-provided\n", + " \"context\": \"\", # dinamically updated per part\n", + " \"instruction\": \"\", # dynamically updated per part\n", + " \"input\": \"\", # dynamically updated per part\n", + " \"requirements\": requirements #user-priovided\n", " }\n", "\n", " # get the LLMChain with the base prompt template\n", @@ -2076,14 +2981,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Case Study II: Github RAG\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Case Study III: Quiz Generation with Citations\n", + "### Case Study II: Quiz Generation with Citations\n", "\n", "In this case study, we will build a Quiz generator with citations that explores additional input management techniques particularly useful with long context windows. The implementation includes prompt caching for efficiency and citation tracking to enhance accuracy and verifiability. We will use Gemini 1.5 Pro as our LLM model, which has a context window of 2M tokens.\n", "\n", @@ -2400,7 +3298,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Conclusion" + "## Conclusion\n", + "\n", + "This chapter has explored critical strategies and techniques for managing input data in LLM applications, focusing on three key areas: data parsing, retrieval augmentation, and practical implementation patterns. We examined how parsing tools like MarkItDown and Docling can transform diverse data formats into LLM-compatible representations, demonstrating through case studies how parser quality can impact LLM performance. The chapter also investigated retrieval augmentation techniques, particularly RAG systems, showing how they can enhance LLM capabilities by providing access to external knowledge while discussing their future relevance in the context of emerging long-context language models.\n", + "\n", + "Through our case studies, we demonstrated practical approaches to handling common challenges in LLM applications. The Content Chunking with Contextual Linking case study illustrated techniques for managing long-form content generation while maintaining coherence across chunks. The Quiz Generation with Citations case study showcased how long-context windows can be effectively utilized without the need for complex retrieval systems, highlighting the importance of choosing the right approach based on specific application requirements rather than defaulting to more complex solutions.\n", + "\n", + "As the field continues to evolve, the choice between traditional RAG systems and emerging long-context models will likely become increasingly nuanced. While RAGs offer cost-effective solutions for incorporating external knowledge, the rise of long-context models suggests a future where simpler architectures might suffice for many applications. The key insight is that effective input data management requires careful consideration of trade-offs among complexity, cost, and performance, always guided by specific application requirements rather than following a one-size-fits-all approach. Success in building robust LLM applications will depend on understanding these trade-offs and selecting appropriate strategies for each use case." ] }, { diff --git a/tamingllms/references.bib b/tamingllms/references.bib index 75c09ae..feadf6a 100644 --- a/tamingllms/references.bib +++ b/tamingllms/references.bib @@ -1,3 +1,233 @@ +@misc{KOMAScriptDoc, + title = {{KOMA-Script Documentation Project {$\vert$} Aktive Anwender verbessern KOMA-Script.}}, + year = {2019}, + month = {Feb}, + note = {[Online; accessed 18. Feb. 2019]}, + url = {https://komascript.de} +} +@book{James2013, +abstract = {... But ESL is intended for individuals with ad- vanced training in the mathematical sciences. An Introduction to Statistical Learning (ISL) arose from the perceived need for a broader and less tech- nical treatment of these topics. ... $\backslash$n}, +archivePrefix = {arXiv}, +arxivId = {arXiv:1011.1669v3}, +author = {James, Gareth and Witten, Daniela and Hastie, Trevor and Tibshirani, Robert}, +booktitle = {An Introd. to Stat. Learn.}, +doi = {10.1007/978-1-4614-7138-7}, +eprint = {arXiv:1011.1669v3}, +isbn = {978-1-4614-7137-0}, +issn = {01621459}, +pmid = {10911016}, +title = {{An Introduction to Statistical Learning}}, +url = {http://www.google.com}, +year = {2013} +} +@article{Battle2014, +abstract = {Understanding the consequences of regulatory variation in the human genome remains a major challenge, with important implications for understanding gene regulation and interpreting the many disease-risk variants that fall outside of protein-coding regions. Here, we provide a direct window into the regulatory consequences of genetic variation by sequencing RNA from 922 genotyped individuals. We present a comprehensive description of the distribution of regulatory variation--by the specific expression phenotypes altered, the properties of affected genes, and the genomic characteristics of regulatory variants. We detect variants influencing expression of over ten thousand genes, and through the enhanced resolution offered by RNA-sequencing, for the first time we identify thousands of variants associated with specific phenotypes including splicing and allelic expression. Evaluating the effects of both long-range intra-chromosomal and trans (cross-chromosomal) regulation, we observe modularity in the regulatory network, with three-dimensional chromosomal configuration playing a particular role in regulatory modules within each chromosome. We also observe a significant depletion of regulatory variants affecting central and critical genes, along with a trend of reduced effect sizes as variant frequency increases, providing evidence that purifying selection and buffering have limited the deleterious impact of regulatory variation on the cell. Further, generalizing beyond observed variants, we have analyzed the genomic properties of variants associated with expression and splicing and developed a Bayesian model to predict regulatory consequences of genetic variants, applicable to the interpretation of individual genomes and disease studies. Together, these results represent a critical step toward characterizing the complete landscape of human regulatory variation.}, +archivePrefix = {arXiv}, +arxivId = {NIHMS150003}, +author = {Battle, Alexis and Mostafavi, Sara and Zhu, Xiaowei and Potash, James B. and Weissman, Myrna M. and McCormick, Courtney and Haudenschild, Christian D. and Beckman, Kenneth B. and Shi, Jianxin and Mei, Rui and Urban, Alexander E. and Montgomery, Stephen B. and Levinson, Douglas F. and Koller, Daphne}, +doi = {10.1101/gr.155192.113}, +eprint = {NIHMS150003}, +journal = {Genome Res.}, +number = {1}, +pages = {14--24}, +pmid = {24092820}, +title = {{Characterizing the genetic basis of transcriptome diversity through RNA-sequencing of 922 individuals}}, +volume = {24}, +year = {2014} +} + +@misc{llamaparse2024github, + title={LlamaParse: Extract structured data from text and PDFs using LLMs}, + author={LlamaIndex}, + year={2024}, + url={https://github.com/run-llama/llama_parse}, + note={LlamaParse} +} + + +@article{Zou2005, +abstract = {We propose the elastic net, a new regularization and variable selection method. Real world data and a simulation study show that the elastic net often outperforms the lasso, while enjoying a similar sparsity of representation. In addition, the elastic net encourages a grouping effect, where strongly correlated predictors tend to be in or out of the model together. The elastic net is particularly useful when the number of predictors (p) is much bigger than the number of observations (n). By contrast, the lasso is not a very satisfactory variable selection method in the p≫n case. An algorithm called LARS-EN is proposed for computing elastic net regularization paths efficiently, much like algorithm LARS does for the lasso.}, +author = {Zou, Hui and Hastie, Trevor}, +doi = {10.1111/j.1467-9868.2005.00503.x}, +journal = {J. R. Stat. Soc.}, +keywords = {grouping effect,lars algorithm,lasso,p,penalization}, +number = {2}, +pages = {301--320}, +pmid = {20713001}, +title = {{Regularization and variable selection via the elastic-net}}, +volume = {67}, +year = {2005} +} +@article{Lappalainen2013, +abstract = {Genome sequencing projects are discovering millions of genetic variants in humans, and interpretation of their functional effects is essential for understanding the genetic basis of variation in human traits. Here we report sequencing and deep analysis of messenger RNA and microRNA from lymphoblastoid cell lines of 462 individuals from the 1000 Genomes Project--the first uniformly processed high-throughput RNA-sequencing data from multiple human populations with high-quality genome sequences. We discover extremely widespread genetic variation affecting the regulation of most genes, with transcript structure and expression level variation being equally common but genetically largely independent. Our characterization of causal regulatory variation sheds light on the cellular mechanisms of regulatory and loss-of-function variation, and allows us to infer putative causal variants for dozens of disease-associated loci. Altogether, this study provides a deep understanding of the cellular mechanisms of transcriptome variation and of the landscape of functional variants in the human genome.}, +archivePrefix = {arXiv}, +arxivId = {NIHMS150003}, +author = {Lappalainen, Tuuli and Sammeth, Michael and Friedl{\"{a}}nder, Marc R. and {'T Hoen}, Peter A.C. and Monlong, Jean and Rivas, Manuel A. and Gonz{\`{a}}lez-Porta, Mar and Kurbatova, Natalja and Griebel, Thasso and Ferreira, Pedro G. and Barann, Matthias and Wieland, Thomas and Greger, Liliana and {Van Iterson}, Maarten and Alml{\"{o}}f, Jonas and Ribeca, Paolo and Pulyakhina, Irina and Esser, Daniela and Giger, Thomas and Tikhonov, Andrew and Sultan, Marc and Bertier, Gabrielle and Macarthur, Daniel G. and Lek, Monkol and Lizano, Esther and Buermans, Henk P.J. and Padioleau, Ismael and Schwarzmayr, Thomas and Karlberg, Olof and Ongen, Halit and Kilpinen, Helena and Beltran, Sergi and Gut, Marta and Kahlem, Katja and Amstislavskiy, Vyacheslav and Stegle, Oliver and Pirinen, Matti and Montgomery, Stephen B. and Donnelly, Peter and McCarthy, Mark I. and Flicek, Paul and Strom, Tim M. and Lehrach, Hans and Schreiber, Stefan and Sudbrak, Ralf and Carracedo, {\'{A}}ngel and Antonarakis, Stylianos E. and H{\"{a}}sler, Robert and Syv{\"{a}}nen, Ann Christine and {Van Ommen}, Gert Jan and Brazma, Alvis and Meitinger, Thomas and Rosenstiel, Philip and Guig{\'{o}}, Roderic and Gut, Ivo G. and Estivill, Xavier and Dermitzakis, Emmanouil T.}, +doi = {10.1038/nature12531}, +eprint = {NIHMS150003}, +isbn = {1476-4687 (Electronic)$\backslash$r0028-0836 (Linking)}, +issn = {00280836}, +journal = {Nature}, +number = {7468}, +pages = {506--511}, +pmid = {24037378}, +title = {{Transcriptome and genome sequencing uncovers functional variation in humans}}, +volume = {501}, +year = {2013} +} +@article{ENCODEProjectConsortium2012, +abstract = {The human genome encodes the blueprint of life, but the function of the vast majority of its nearly three billion bases is unknown. The Encyclopedia of DNA Elements (ENCODE) project has systematically mapped regions of transcription, transcription factor association, chromatin structure and histone modification. These data enabled us to assign biochemical functions for 80{\%} of the genome, in particular outside of the well-studied protein-coding regions. Many discovered candidate regulatory elements are physically associated with one another and with expressed genes, providing new insights into the mechanisms of gene regulation. The newly identified elements also show a statistical correspondence to sequence variants linked to human disease, and can thereby guide interpretation of this variation. Overall, the project provides new insights into the organization and regulation of our genes and genome, and is an expansive resource of functional annotations for biomedical research.}, +author = {{ENCODE Project Consortium}, An Integrated Encyclopedia of DNA Elements in the Human}, +doi = {10.1038/nature11247}, +issn = {1476-4687}, +journal = {Nature}, +number = {7414}, +pages = {57--74}, +pmid = {22955616}, +title = {{An integrated encyclopedia of DNA elements in the human genome.}}, +url = {http://www.ncbi.nlm.nih.gov/pubmed/22955616{\%}5Cnhttp://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=PMC3439153}, +volume = {489}, +year = {2012} +} +@article{Gusev2018, +abstract = {Genome-wide association studies (GWAS) have identified over 100 risk loci for schizophrenia, but the causal mechanisms remain largely unknown. We performed a transcriptome-wide association study (TWAS) integrating expression data from brain, blood, and adipose tissues across 3,693 individuals with schizophrenia GWAS of 79,845 individuals from the Psychiatric Genomics Consortium. We identified 157 genes with a transcriptome-wide significant association, of which 35 did not overlap a known GWAS locus; the largest number involved alternative splicing in brain. 42/157 genes were also associated to specific chromatin phenotypes measured in 121 independent samples (a 4-fold enrichment over background genes). This high-throughput connection of GWAS findings to specific genes, tissues, and regulatory mechanisms is an essential step toward understanding the biology of schizophrenia and moving towards therapeutic interventions.}, +author = {Gusev, Alexander and Mancuso, Nicholas and Won, Hyejung and Kousi, Maria and Finucane, Hilary K. and Reshef, Yakir and Song, Lingyun and Safi, Alexias and McCarroll, Steven and Neale, Benjamin M. and Ophoff, Roel A. and O'Donovan, Michael C. and Crawford, Gregory E. and Geschwind, Daniel H. and Katsanis, Nicholas and Sullivan, Patrick F. and Pasaniuc, Bogdan and Price, Alkes L.}, +doi = {10.1038/s41588-018-0092-1}, +isbn = {1546-1718}, +issn = {15461718}, +journal = {Nat. Genet.}, +keywords = {TWAS}, +mendeley-tags = {TWAS}, +number = {4}, +pages = {538--548}, +pmid = {29632383}, +title = {{Transcriptome-wide association study of schizophrenia and chromatin activity yields mechanistic disease insights}}, +volume = {50}, +year = {2018} +} +@article{Gusev2016, +abstract = {Many genetic variants influence complex traits by modulating gene expression, thus altering the abundance of one or multiple proteins. Here we introduce a powerful strategy that integrates gene expression measurements with summary association statistics from large-scale genome-wide association studies (GWAS) to identify genes whose cis-regulated expression is associated with complex traits. We leverage expression imputation from genetic data to perform a transcriptome-wide association study (TWAS) to identify significant expression-trait associations. We applied our approaches to expression data from blood and adipose tissue measured in ∼3,000 individuals overall. We imputed gene expression into GWAS data from over 900,000 phenotype measurements to identify 69 new genes significantly associated with obesity-related traits (BMI, lipids and height). Many of these genes are associated with relevant phenotypes in the Hybrid Mouse Diversity Panel. Our results showcase the power of integrating genotype, gene expression and phenotype to gain insights into the genetic basis of complex traits.}, +archivePrefix = {arXiv}, +arxivId = {15334406}, +author = {Gusev, Alexander and Ko, Arthur and Shi, Huwenbo and Bhatia, Gaurav and Chung, Wonil and Penninx, Brenda W.J.H. and Jansen, Rick and {De Geus}, Eco J.C. and Boomsma, Dorret I. and Wright, Fred A. and Sullivan, Patrick F. and Nikkola, Elina and Alvarez, Marcus and Civelek, Mete and Lusis, Aldons J. and Lehtim{\"{a}}ki, Terho and Raitoharju, Emma and K{\"{a}}h{\"{o}}nen, Mika and Sepp{\"{a}}l{\"{a}}, Ilkka and Raitakari, Olli T. and Kuusisto, Johanna and Laakso, Markku and Price, Alkes L. and Pajukanta, P{\"{a}}ivi and Pasaniuc, Bogdan}, +doi = {10.1038/ng.3506}, +eprint = {15334406}, +isbn = {1061-4036}, +issn = {15461718}, +journal = {Nat. Genet.}, +keywords = {TWAS}, +mendeley-tags = {TWAS}, +month = {mar}, +number = {3}, +pages = {245--252}, +pmid = {26854917}, +publisher = {Nature Publishing Group}, +title = {{Integrative approaches for large-scale transcriptome-wide association studies}}, +url = {http://www.nature.com/articles/ng.3506 http://www.ncbi.nlm.nih.gov/pubmed/26854917 http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=PMC4767558}, +volume = {48}, +year = {2016} +} +@article{Gamazon2015, +abstract = {Genome-wide association studies (GWAS) have identified thousands of variants robustly associated with complex traits. However, the biological mechanisms underlying these associations are, in general, not well understood. We propose a gene-based association method called PrediXcan that directly tests the molecular mechanisms through which genetic variation affects phenotype. The approach estimates the component of gene expression determined by an individual's genetic profile and correlates 'imputed' gene expression with the phenotype under investigation to identify genes involved in the etiology of the phenotype. Genetically regulated gene expression is estimated using whole-genome tissue-dependent prediction models trained with reference transcriptome data sets. PrediXcan enjoys the benefits of gene-based approaches such as reduced multiple-testing burden and a principled approach to the design of follow-up experiments. Our results demonstrate that PrediXcan can detect known and new genes associated with disease traits and provide insights into the mechanism of these associations.}, +author = {Gamazon, Eric R. and Wheeler, Heather E. and Shah, Kaanan P. and Mozaffari, Sahar V. and Aquino-Michaels, Keston and Carroll, Robert J. and Eyler, Anne E. and Denny, Joshua C. and Nicolae, Dan L. and Cox, Nancy J. and Im, Hae Kyung}, +doi = {10.1038/ng.3367}, +isbn = {1061-4036}, +issn = {15461718}, +journal = {Nat. Genet.}, +keywords = {TWAS}, +mendeley-tags = {TWAS}, +month = {sep}, +number = {9}, +pages = {1091--1098}, +pmid = {26258848}, +title = {{A gene-based association method for mapping traits using reference transcriptome data}}, +url = {http://www.ncbi.nlm.nih.gov/pubmed/26258848 http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=PMC4552594 http://www.nature.com/articles/ng.3367}, +volume = {47}, +year = {2015} +} +@misc{Lonsdale2013, +abstract = {Genome-wide association studies have identified thousands of loci for common diseases, but, for the majority of these, the mechanisms underlying disease susceptibility remain unknown. Most associated variants are not correlated with protein-coding changes, suggesting that polymorphisms in regulatory regions probably contribute to many disease phenotypes. Here we describe the Genotype-Tissue Expression (GTEx) project, which will establish a resource database and associated tissue bank for the scientific community to study the relationship between genetic variation and gene expression in human tissues.}, +archivePrefix = {arXiv}, +arxivId = {NIHMS150003}, +author = {Lonsdale, John and Thomas, Jeffrey and Salvatore, Mike and Phillips, Rebecca and Lo, Edmund and Shad, Saboor and Hasz, Richard and Walters, Gary and Garcia, Fernando and Young, Nancy and Foster, Barbara and Moser, Mike and Karasik, Ellen and Gillard, Bryan and Ramsey, Kimberley and Sullivan, Susan and Bridge, Jason and Magazine, Harold and Syron, John and Fleming, Johnelle and Siminoff, Laura and Traino, Heather and Mosavel, Maghboeba and Barker, Laura and Jewell, Scott and Rohrer, Dan and Maxim, Dan and Filkins, Dana and Harbach, Philip and Cortadillo, Eddie and Berghuis, Bree and Turner, Lisa and Hudson, Eric and Feenstra, Kristin and Sobin, Leslie and Robb, James and Branton, Phillip and Korzeniewski, Greg and Shive, Charles and Tabor, David and Qi, Liqun and Groch, Kevin and Nampally, Sreenath and Buia, Steve and Zimmerman, Angela and Smith, Anna and Burges, Robin and Robinson, Karna and Valentino, Kim and Bradbury, Deborah and Cosentino, Mark and Diaz-Mayoral, Norma and Kennedy, Mary and Engel, Theresa and Williams, Penelope and Erickson, Kenyon and Ardlie, Kristin and Winckler, Wendy and Getz, Gad and DeLuca, David and {Daniel MacArthur} and Kellis, Manolis and Thomson, Alexander and Young, Taylor and Gelfand, Ellen and Donovan, Molly and Meng, Yan and Grant, George and Mash, Deborah and Marcus, Yvonne and Basile, Margaret and Liu, Jun and Zhu, Jun and Tu, Zhidong and Cox, Nancy J. and Nicolae, Dan L. and Gamazon, Eric R. and Im, Hae Kyung and Konkashbaev, Anuar and Pritchard, Jonathan and Stevens, Matthew and Flutre, Timoth{\`{e}}e and Wen, Xiaoquan and Dermitzakis, Emmanouil T. and Lappalainen, Tuuli and Guigo, Roderic and Monlong, Jean and Sammeth, Michael and Koller, Daphne and Battle, Alexis and Mostafavi, Sara and McCarthy, Mark and Rivas, Manual and Maller, Julian and Rusyn, Ivan and Nobel, Andrew and Wright, Fred and Shabalin, Andrey and Feolo, Mike and Sharopova, Nataliya and Sturcke, Anne and Paschal, Justin and Anderson, James M. and Wilder, Elizabeth L. and Derr, Leslie K. and Green, Eric D. and Struewing, Jeffery P. and Temple, Gary and Volpi, Simona and Boyer, Joy T. and Thomson, Elizabeth J. and Guyer, Mark S. and Ng, Cathy and Abdallah, Assya and Colantuoni, Deborah and Insel, Thomas R. and Koester, Susan E. and {A Roger Little} and Bender, Patrick K. and Lehner, Thomas and Yao, Yin and Compton, Carolyn C. and Vaught, Jimmie B. and Sawyer, Sherilyn and Lockhart, Nicole C. and Demchok, Joanne and Moore, Helen F.}, +booktitle = {Nat. Genet.}, +doi = {10.1038/ng.2653}, +eprint = {NIHMS150003}, +isbn = {1061-4036}, +issn = {10614036}, +number = {6}, +pages = {580--585}, +pmid = {23715323}, +title = {{The Genotype-Tissue Expression (GTEx) project}}, +volume = {45}, +year = {2013} +} +@article{Ramasamy2014, +abstract = {Germ-line genetic control of gene expression occurs via expression quantitative trait loci (eQTLs). We present a large, exon-specific eQTL data set covering ten human brain regions. We found that cis-eQTL signals (within 1 Mb of their target gene) were numerous, and many acted heterogeneously among regions and exons. Co-regulation analysis of shared eQTL signals produced well-defined modules of region-specific co-regulated genes, in contrast to standard coexpression analysis of the same samples. We report cis-eQTL signals for 23.1{\%} of catalogued genome-wide association study hits for adult-onset neurological disorders. The data set is publicly available via public data repositories and via http://www.braineac.org/. Our study increases our understanding of the regulation of gene expression in the human brain and will be of value to others pursuing functional follow-up of disease-associated variants.}, +author = {Ramasamy, A and Trabzuni, D and Guelfi, S and Varghese, V and Smith, C and Walker, R and De, T and Consortium, U K Brain Expression and {North American Brain Expression}, Consortium and Coin, L and de Silva, R and Cookson, M R and Singleton, A B and Hardy, J and Ryten, M and Weale, M E}, +doi = {10.1038/nn.3801}, +isbn = {1546-1726 (Electronic)$\backslash$r1097-6256 (Linking)}, +issn = {1546-1726; 1097-6256}, +journal = {Nat. Neurosci.}, +keywords = {*Gene Expression Regulation,*Genetic Predisposition to Disease,*Quantitative Trait Loci,Adolescent,Adult,Aged,Aged, 80 and over,Brain/*anatomy {\&} histology/metabolism,Female,Gene Expression Profiling,Genetic Association Studies,Humans,Male,Middle Aged,Nervous System Diseases/*genetics/*pathology,Oligonucleotide Array Sequence Analysis,Polymorphism, Single Nucleotide,Young Adult}, +number = {10}, +pages = {1418--1428}, +pmid = {25174004}, +title = {{Genetic variability in the regulation of gene expression in ten regions of the human brain}}, +url = {http://www.ncbi.nlm.nih.gov/pubmed/25174004}, +volume = {17}, +year = {2014} +} +@article{Visscher2008, +abstract = {Heritability allows a comparison of the relative importance of genes and environment to the variation of traits within and across populations. The concept of heritability and its definition as an estimable, dimensionless population parameter was introduced by Sewall Wright and Ronald Fisher nearly a century ago. Despite continuous misunderstandings and controversies over its use and application, heritability remains key to the response to selection in evolutionary biology and agriculture, and to the prediction of disease risk in medicine. Recent reports of substantial heritability for gene expression and new estimation methods using marker data highlight the relevance of heritability in the genomics era.}, +archivePrefix = {arXiv}, +arxivId = {arXiv:1011.1669v3}, +author = {Visscher, Peter M and Hill, William G and Wray, Naomi R}, +doi = {10.1038/nrg2322}, +eprint = {arXiv:1011.1669v3}, +issn = {1471-0064}, +journal = {Nat. Rev. Genet.}, +number = {4}, +pages = {255--266}, +pmid = {18319743}, +title = {{Heritability in the genomics era--concepts and misconceptions.}}, +volume = {9}, +year = {2008} +} +@article{Giambartolomei2014, +abstract = {Genetic association studies, in particular the genome-wide association study design, have provided a wealth of novel insights into the aetiology of a wide range of human diseases and traits. The next challenge consists of understanding the molecular basis of these associations. The integration of multiple association datasets, including gene expression datasets, can contribute to this goal. We have developed a novel statistical methodology to assess whether two association signals are consistent with a shared causal variant. An application is the integration of disease scans with expression quantitative trait locus (eQTL) studies, but any pair of GWAS datasets can be integrated in this framework. We demonstrate the value of the approach by reanalysing a gene expression dataset in 966 liver samples with a published meta-analysis of lipid traits including {\textgreater}100, 000 individuals of European ancestry. Combining all lipid biomarkers, our reanalysis supported 29 out of 38 reported colocalisation results with eQTLs and identified 14 new colocalisation results, highlighting the value of a formal statistical test. In two cases of reported eQTL-lipid pairs (IFT172, TBKBP1) for which our analysis suggests that the eQTL pattern is not consistent with the lipid association, we identify alternative colocalisation results with GCKR and KPNB1, indicating that these genes are more likely to be causal in these genomic intervals. A key feature of the method is the ability to derive the output statistics from single SNP summary statistics, hence making it possible to perform systematic meta-analysis type comparisons across multiple GWAS datasets (http://coloc.cs.ucl.ac.uk/coloc/). Our methodology provides information about candidate causal genes in associated intervals and has direct implications for the understanding of complex diseases and the design of drugs to target disease pathways.}, +archivePrefix = {arXiv}, +arxivId = {1305.4022}, +author = {Giambartolomei, Claudia and Vukcevic, Damjan and Schadt, Eric E. and Franke, Lude and Hingorani, Aroon D. and Wallace, Chris and Plagnol, Vincent}, +doi = {10.1371/journal.pgen.1004383}, +eprint = {1305.4022}, +isbn = {1553-7404 (Electronic)$\backslash$r1553-7390 (Linking)}, +issn = {15537404}, +journal = {PLoS Genet.}, +number = {5}, +pmid = {24830394}, +title = {{Bayesian Test for Colocalisation between Pairs of Genetic Association Studies Using Summary Statistics}}, +volume = {10}, +year = {2014} +} +@article{Ardlie2015, +abstract = {Understanding the functional consequences of genetic variation, and how it affects complex human disease and quantitative traits, remains a critical challenge for biomedicine. We present an analysis of RNA sequencing data from 1641 samples across 43 tissues from 175 individuals, generated as part of the pilot phase of the Genotype-Tissue Expression (GTEx) project. We describe the landscape of gene expression across tissues, catalog thousands of tissue-specific and shared regulatory expression quantitative trait loci (eQTL) variants, describe complex network relationships, and identify signals from genome-wide association studies explained by eQTLs. These findings provide a systematic understanding of the cellular and biological consequences of human genetic variation and of the heterogeneity of such effects among a diverse set of human tissues.$\backslash$nExpression, genetic variation, and tissues$\backslash$nHuman genomes show extensive genetic variation across individuals, but we have only just started documenting the effects of this variation on the regulation of gene expression. Furthermore, only a few tissues have been examined per genetic variant. In order to examine how genetic expression varies among tissues within individuals, the Genotype-Tissue Expression (GTEx) Consortium collected 1641 postmortem samples covering 54 body sites from 175 individuals. They identified quantitative genetic traits that affect gene expression and determined which of these exhibit tissue-specific expression patterns. Mel{\'{e}} et al. measured how transcription varies among tissues, and Rivas et al. looked at how truncated protein variants affect expression across tissues.$\backslash$nScience, this issue p. 648, p. 660, p. 666; see also p. 640}, +author = {Ardlie, Kristin G. and DeLuca, David S. and Segr{\`{e}}, Ayellet V. and Sullivan, Timothy J. and Young, Taylor R. and Gelfand, Ellen T. and Trowbridge, Casandra A. and Maller, Julian B. and Tukiainen, Taru and Lek, Monkol and Ward, Lucas D. and Kheradpour, Pouya and Iriarte, Benjamin and Meng, Yan and Palmer, Cameron D. and Esko, T{\~{o}}nu and Winckler, Wendy and Hirschhorn, Joel N. and Kellis, Manolis and MacArthur, Daniel G. and Getz, Gad and Shabalin, Andrey A. and Li, Gen and Zhou, Yi Hui and Nobel, Andrew B. and Rusyn, Ivan and Wright, Fred A. and Lappalainen, Tuuli and Ferreira, Pedro G. and Ongen, Halit and Rivas, Manuel A. and Battle, Alexis and Mostafavi, Sara and Monlong, Jean and Sammeth, Michael and Mel{\'{e}}, Marta and Reverter, Ferran and Goldmann, Jakob M. and Koller, Daphne and Guig{\'{o}}, Roderic and McCarthy, Mark I. and Dermitzakis, Emmanouil T. and Gamazon, Eric R. and Im, Hae Kyung and Konkashbaev, Anuar and Nicolae, Dan L. and Cox, Nancy J. and Flutre, Timoth{\'{e}}e and Wen, Xiaoquan and Stephens, Matthew and Pritchard, Jonathan K. and Tu, Zhidong and Zhang, Bin and Huang, Tao and Long, Quan and Lin, Luan and Yang, Jialiang and Zhu, Jun and Liu, Jun and Brown, Amanda and Mestichelli, Bernadette and Tidwell, Denee and Lo, Edmund and Salvatore, Michael and Shad, Saboor and Thomas, Jeffrey A. and Lonsdale, John T. and Moser, Michael T. and Gillard, Bryan M. and Karasik, Ellen and Ramsey, Kimberly and Choi, Christopher and Foster, Barbara A. and Syron, John and Fleming, Johnell and Magazine, Harold and Hasz, Rick and Walters, Gary D. and Bridge, Jason P. and Miklos, Mark and Sullivan, Susan and Barker, Laura K. and Traino, Heather M. and Mosavel, Maghboeba and Siminoff, Laura A. and Valley, Dana R. and Rohrer, Daniel C. and Jewell, Scott D. and Branton, Philip A. and Sobin, Leslie H. and Barcus, Mary and Qi, Liqun and McLean, Jeffrey and Hariharan, Pushpa and Um, Ki Sung and Wu, Shenpei and Tabor, David and Shive, Charles and Smith, Anna M. and Buia, Stephen A. and Undale, Anita H. and Robinson, Karna L. and Roche, Nancy and Valentino, Kimberly M. and Britton, Angela and Burges, Robin and Bradbury, Debra and Hambright, Kenneth W. and Seleski, John and Korzeniewski, Greg E. and Erickson, Kenyon and Marcus, Yvonne and Tejada, Jorge and Taherian, Mehran and Lu, Chunrong and Basile, Margaret and Mash, Deborah C. and Volpi, Simona and Struewing, Jeffery P. and Temple, Gary F. and Boyer, Joy and Colantuoni, Deborah and Little, Roger and Koester, Susan and Carithers, Latarsha J. and Moore, Helen M. and Guan, Ping and Compton, Carolyn and Sawyer, Sherilyn J. and Demchok, Joanne P. and Vaught, Jimmie B. and Rabiner, Chana A. and Lockhart}, +doi = {10.1126/science.1262110}, +isbn = {0036-8075}, +issn = {10959203}, +journal = {Science (80-. ).}, +number = {6235}, +pages = {648--660}, +pmid = {25954001}, +title = {{The Genotype-Tissue Expression (GTEx) pilot analysis: Multitissue gene regulation in humans}}, +volume = {348}, +year = {2015} +} + + + + --- --- @@ -23,7 +253,7 @@ @misc{liang2024controllabletextgenerationlarge @misc{hf2024quantization, title={Quantization in Optimum}, - author={Hugging Face}, + author={HuggingFace}, year={2024s}, howpublished={\url{https://huggingface.co/docs/optimum/en/concept_guides/quantization}}, note={Accessed: 2024} @@ -41,7 +271,7 @@ @misc{mistraltechnology2024 @misc{hf2024yearinreview, title={Open Source AI Year in Review 2024}, - author={Hugging Face}, + author={HuggingFace}, year={2024t}, howpublished={\url{https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024}}, note={Accessed: 2024} @@ -131,7 +361,7 @@ @misc{li2024leveraginglargelanguagemodels @misc{huggingface2024llmjudge, title={LLM as a Judge}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, howpublished={\url{https://huggingface.co/learn/cookbook/en/llm_judge}}, note={Accessed: 2024} @@ -212,7 +442,7 @@ @article{qwen2 @misc{lighteval_tasks, title={Available Tasks - LightEval Wiki}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, howpublished={\url{https://github.com/huggingface/lighteval/wiki/Available-Tasks}}, note={Accessed: 2024} @@ -220,7 +450,7 @@ @misc{lighteval_tasks @misc{lighteval_metrics, title={Metric List - LightEval Wiki}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, howpublished={\url{https://github.com/huggingface/lighteval/wiki/Metric-List}}, note={Accessed: 2024} @@ -228,7 +458,7 @@ @misc{lighteval_metrics @misc{lighteval_server, title={Evaluate the model on a server or container - LightEval Wiki}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, howpublished={\url{https://github.com/huggingface/lighteval/wiki/Evaluate-the-model-on-a-server-or-container}}, note={Accessed: 2024} @@ -237,8 +467,8 @@ @misc{lighteval_server @misc{gpt2docs, - title={GPT-2 Documentation - Hugging Face Transformers}, - author={Hugging Face}, + title={GPT-2 Documentation - HuggingFace Transformers}, + author={HuggingFace}, year={2024}, howpublished={\url{https://huggingface.co/docs/transformers/model_doc/gpt2}}, note={Accessed: 2024} @@ -258,15 +488,15 @@ @misc{qwen_openrouter_usage } @misc{hf_num_models, - title={Number of Models on Hugging Face}, - author={{Hugging Face}}, + title={Number of Models on HuggingFace}, + author={{HuggingFace}}, year={2024}, howpublished={\url{https://huggingface.co/spaces/huggingface/open-source-ai-year-in-review-2024?day=4}}, note={Accessed: 12/06/2024} } @misc{meta_llama_models, - title={Meta Llama Models on Hugging Face}, + title={Meta Llama Models on HuggingFace}, author={{Meta AI}}, year={2024}, howpublished={\url{https://huggingface.co/meta-llama}}, @@ -321,15 +551,6 @@ @article{long2024llms year={2024} } - -@misc{langchain_github, - title={LangChain}, - author={{LangChain}}, - year={2024z}, - howpublished={\url{https://github.com/langchain-ai/langchain}}, - note={Accessed: 12/07/2024} -} - @misc{langchain_text_splitters, title={Text Splitters - LangChain Documentation}, author={{LangChain}}, @@ -390,14 +611,6 @@ @misc{srivastava2023imitationgamequantifyingextrapolating url={https://arxiv.org/abs/2206.04615}, } -@misc{ollama2024website, - title={Ollama: Get up and running with large language models, locally}, - author={Ollama}, - year={2024}, - howpublished={Website}, - url={https://ollama.com} -} - @book{kamath2024large, title={Large Language Models: A Deep Dive: Bridging Theory and Practice}, author={Kamath, U. and Keenan, K. and Somers, G. and Sorenson, S.}, @@ -459,9 +672,9 @@ @misc{chiang2024chatbotarenaopenplatform @misc{openllmleaderboard2024, title={Open LLM Leaderboard}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, - howpublished={Hugging Face Spaces}, + howpublished={HuggingFace Spaces}, url={https://huggingface.co/spaces/open-llm-leaderboard/blog}, } @@ -551,7 +764,7 @@ @misc{willard2023efficientguidedgenerationlarge @misc{smollm2024model, title={SmolLM2-360M-Instruct}, - author={Hugging Face SmolLM2-360M-Instruct}, + author={HuggingFace SmolLM2-360M-Instruct}, year={2024}, url={https://huggingface.co/HuggingFaceTB/SmolLM2-360M-Instruct}, note={360M parameter instruction-tuned language model, distilled for efficient deployment} @@ -565,6 +778,15 @@ @misc{promptfoo2024 note={Open source framework for testing and evaluating LLM prompts} } +@misc{scikit2024evaluation, + title={Model evaluation: quantifying the quality of predictions}, + author={{scikit-learn developers}}, + year={2024}, + howpublished={Website}, + url={https://scikit-learn.org/1.5/modules/model_evaluation.html} +} + + @misc{vidgen2024introducingv05aisafety, title={Introducing v0.5 of the AI Safety Benchmark from MLCommons}, @@ -596,9 +818,28 @@ @misc{wu2024metarewardinglanguagemodelsselfimproving url={https://arxiv.org/abs/2407.19594}, } +@misc{chollet2024tweet, + title={Chollet on ARC-AGI-1}, + author={François Chollet}, + year={2025}, + howpublished={Tweet}, + url={https://x.com/fchollet/status/1874877373629493548}, + note={Accessed: 04/01/2025} +} + +@misc{xie2024ordermattershallucinationreasoning, + title={Order Matters in Hallucination: Reasoning Order as Benchmark and Reflexive Prompting for Large-Language-Models}, + author={Zikai Xie}, + year={2024}, + eprint={2408.05093}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2408.05093}, +} + @misc{smollm2024, title={SmoLLM: A Small Language Model Distilled from a Larger Language Model for Task-specific Applications}, - author={Hugging Face SmolLM2}, + author={HuggingFace SmolLM2}, year={2024}, url={https://huggingface.co/blog/smollm}, note={Blog post describing techniques for distilling smaller, task-specific language models} @@ -681,8 +922,8 @@ @misc{mozilla2024llamafile @misc{huggingface2024llamafilemodels, - title={Llamafile Models on Hugging Face}, - author={{Hugging Face}}, + title={Llamafile Models on HuggingFace}, + author={{HuggingFace}}, year={2024x}, howpublished={Online Repository}, url={https://huggingface.co/models?library=llamafile}, @@ -692,7 +933,7 @@ @misc{huggingface2024llamafilemodels @misc{huggingface2024chattemplating, title={Chat Templating Documentation}, - author={{Hugging Face}}, + author={{HuggingFace}}, year={2024y}, howpublished={Online Documentation}, url={https://huggingface.co/docs/transformers/main/en/chat_templating}, @@ -712,7 +953,7 @@ @misc{meta2024llama2chat70b title={Llama-2-70b-chat-hf}, author={{Meta AI}}, year={2024c}, - howpublished={Hugging Face Model}, + howpublished={HuggingFace Model}, url={https://huggingface.co/meta-llama/Llama-2-70b-chat-hf}, note={70 billion parameter chat model from Meta's Llama 2 family} } @@ -732,7 +973,7 @@ @misc{unsloth2024llama3 title={Llama-3.3-70B-Instruct-GGUF}, author={{Unsloth}}, year={2024}, - howpublished={Hugging Face Model}, + howpublished={HuggingFace Model}, url={https://huggingface.co/unsloth/Llama-3.3-70B-Instruct-GGUF}, note={GGUF quantized version of Meta's Llama 3.3 70B instruction-tuned model} } @@ -781,7 +1022,7 @@ @misc{salesforce2024wikitext title={WikiText Dataset}, author={{Salesforce}}, year={2024}, - howpublished={Hugging Face Dataset}, + howpublished={HuggingFace Dataset}, url={https://huggingface.co/datasets/Salesforce/wikitext}, note={Large-scale dataset derived from verified Good and Featured articles on Wikipedia} } @@ -814,14 +1055,40 @@ @misc{deepseek2024v3 url={https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf} } -@misc{lee2024longcontextlanguagemodelssubsume, - title={Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?}, - author={Jinhyuk Lee and Anthony Chen and Zhuyun Dai and Dheeru Dua and Devendra Singh Sachan and Michael Boratko and Yi Luan and Sébastien M. R. Arnold and Vincent Perot and Siddharth Dalmia and Hexiang Hu and Xudong Lin and Panupong Pasupat and Aida Amini and Jeremy R. Cole and Sebastian Riedel and Iftekhar Naim and Ming-Wei Chang and Kelvin Guu}, - year={2024}, - eprint={2406.13121}, - archivePrefix={arXiv}, - primaryClass={cs.CL}, - url={https://arxiv.org/abs/2406.13121}, +@misc{docling2024github, + title={DocLing: A Document-Level Linguistic Annotation Framework}, + author={{IBM Research}}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/DS4SD/docling}, + note={Framework for document-level linguistic annotation and analysis} +} + +@misc{unstructured2024github, + title={Unstructured: Open Source Libraries for Pre-Processing Documents}, + author={{Unstructured.io}}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/Unstructured-IO/unstructured} +} + +@misc{mendable2024firecrawl, + title={FireCrawl: A Fast and Efficient Web Crawler for LLM Training Data}, + author={{Mendable AI}}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/mendableai/firecrawl}, + note={High-performance web crawler optimized for collecting LLM training data} +} + + +@misc{microsoft2024markitdown, + title={MarkItDown: Structured Generation with Large Language Models}, + author={{Microsoft}}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/microsoft/markitdown}, + note={Framework for structured text generation using LLMs} } @@ -846,7 +1113,7 @@ @misc{a16z2024llmflation @misc{huggingface2024quantization, title={GGUF Quantization Types}, - author={{Hugging Face}}, + author={{HuggingFace}}, year={2024w}, howpublished={Online Documentation}, url={https://huggingface.co/docs/hub/gguf#quantization-types}, @@ -895,8 +1162,8 @@ @misc{ibm2024ggufversusggml } @misc{huggingface2024ggufmodels, - title={GGUF Models on Hugging Face}, - author={{Hugging Face}}, + title={GGUF Models on HuggingFace}, + author={{HuggingFace}}, year={2024x}, howpublished={Online Repository}, url={https://huggingface.co/models?search=gguf}, @@ -926,6 +1193,46 @@ @misc{singh2024globalmmluunderstandingaddressing url={https://arxiv.org/abs/2412.03304}, } +@book{kimothi2024simpleguiderag, + title={A Simple Guide to Retrieval Augmented Generation}, + author={Kimothi, Abhinav}, + year={2024}, + publisher={Manning Publications}, + isbn={9781633435858}, + note={Manning Early Access Program (MEAP)}, + url={https://www.manning.com/books/a-simple-guide-to-retrieval-augmented-generation} +} + + +@book{hands-on-llms-book, + author = {Jay Alammar and Maarten Grootendorst}, + title = {Hands-On Large Language Models}, + publisher = {O'Reilly}, + year = {2024}, + isbn = {978-1098150969}, + url = {https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/}, + github = {https://github.com/HandsOnLLM/Hands-On-Large-Language-Models} +} + +@misc{diamant2024ragtechniques, + title={RAG Techniques}, + author={Nir Diamant}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/NirDiamant/RAG_Techniques}, + note={Collection of advanced RAG techniques and implementation patterns} +} + + +@misc{athinaai2024ragcookbooks, + title={RAG Cookbooks}, + author={{AthinaAI}}, + year={2024}, + howpublished={GitHub Repository}, + url={https://github.com/athina-ai/rag-cookbooks}, + note={Collection of recipes and best practices for building RAG applications} +} + @book{huyen2024aiengineering, @@ -989,7 +1296,7 @@ @misc{mlcommons2024lead @misc{ultrafeedback2024, title={UltraFeedback Binarized Dataset}, - author={Hugging Face H4}, + author={HuggingFace H4}, year={2024a}, url={https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized}, note={A dataset of binary preference data for training language models} @@ -998,18 +1305,18 @@ @misc{ultrafeedback2024 @misc{ultrafeedback2024z, title={UltraFeedback Binarized Dataset}, - author={Hugging Face H4}, + author={HuggingFace H4}, year={2024z}, url={https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized}, note={A dataset of binary preference data for training language models} } @misc{huggingfaceh42024, - title={Hugging Face H4}, - author={Hugging Face H4}, + title={HuggingFace H4}, + author={HuggingFace H4}, year={2024b}, url={https://huggingface.co/HuggingFaceH4}, - note={Hugging Face H4} + note={HuggingFace H4} } @misc{evalstamingllms2024, @@ -1098,7 +1405,7 @@ @misc{grattafiori2024llama3herdmodels @misc{hf2024scalingtesttime, title={Scaling Test Time Compute}, - author={Hugging Face}, + author={HuggingFace}, year={2024v}, url={https://huggingface.co/spaces/HuggingFaceH4/blogpost-scaling-test-time-compute}, note={Accessed: 2024} @@ -1106,7 +1413,7 @@ @misc{hf2024scalingtesttime @misc{hf2024ultrachat200k, title={UltraChat-200K Dataset}, - author={Hugging Face}, + author={HuggingFace}, year={2024u}, url={https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k}, note={Accessed: 2024} @@ -1166,7 +1473,7 @@ @misc{ouyang2022traininglanguagemodelsfollow @misc{zephyr2024, title={Zephyr}, - author={Hugging Face}, + author={HuggingFace}, year={2024}, url={https://huggingface.co/HuggingFaceH4/zephyr-7b-alpha}, note={Zephyr} @@ -1373,7 +1680,7 @@ @misc{xu2024dposuperiorppollm @misc{huggingface2024rlhf, title={RLHF}, - author={Hugging Face}, + author={HuggingFace}, year={2024c}, url={https://huggingface.co/blog/rlhf}, note={RLHF} @@ -1412,7 +1719,7 @@ @techreport{finra2024llmguidance24 @misc{huggingface2024trl, title={TRL}, - author={Hugging Face}, + author={HuggingFace}, year={2024d}, url={https://huggingface.co/docs/trl/en/index}, note={TRL} @@ -1590,7 +1897,7 @@ @misc{zhou2024stealtheditshf title={Stealth Edits: Detecting Stealth Edits in LLM Outputs}, author={Qinghua Zhou}, year={2024}, - howpublished={Hugging Face Spaces}, + howpublished={HuggingFace Spaces}, url={https://huggingface.co/spaces/qinghua-zhou/stealth-edits}, } @@ -1767,7 +2074,7 @@ @misc{opensafetylab2024saladdata title={Salad-Data: A Hierarchical and Comprehensive Safety Dataset for Large Language Models}, author={{OpenSafetyLab}}, year={2024}, - howpublished={Hugging Face Dataset}, + howpublished={HuggingFace Dataset}, url={https://huggingface.co/datasets/OpenSafetyLab/Salad-Data}, } @@ -1775,7 +2082,7 @@ @misc{opensafetylab2024saladbenchleaderboard title={Salad-Bench Leaderboard}, author={{OpenSafetyLab}}, year={2024}, - howpublished={Hugging Face Space}, + howpublished={HuggingFace Space}, url={https://huggingface.co/spaces/OpenSafetyLab/Salad-Bench-Leaderboard}, } @@ -1939,3 +2246,263 @@ @misc{mistral2024 } +@article{ren2024reconciling, + title={Reconciling the contrasting narratives on the environmental impact of large language models}, + author={Ren, Shaolei and others}, + journal={Scientific Reports}, + volume={14}, + number={1}, + pages={26310}, + year={2024}, + publisher={Nature Publishing Group}, + doi={10.1038/s41598-024-76682-6} +} + +@misc{epa2023greenhouse, + title={Greenhouse Gas Emissions from a Typical Passenger Vehicle}, + author={{United States Environmental Protection Agency}}, + year={2023}, + howpublished={Website}, + url={https://www.epa.gov/greenvehicles/greenhouse-gas-emissions-typical-passenger-vehicle} +} + +@misc{anthropic2024statistical, + title={A Statistical Approach to Model Evaluation}, + author={{Anthropic}}, + year={2024}, + howpublished={Website}, + url={https://www.anthropic.com/research/statistical-approach-to-model-evals} +} + +@misc{bcs2024deadend, + title={Does current AI represent a dead end?}, + author={{British Computer Society}}, + year={2024}, + howpublished={Website}, + url={https://www.bcs.org/articles-opinion-and-research/does-current-ai-represent-a-dead-end/} +} + + + +@article{oketunji2023a, + edition = {}, + number = {}, + journal = {Data \& Policy}, + pages = {}, + publisher = {Cambridge University Press}, + school = {}, + title = {Large Language Model (LLM) Bias Index—LLMBI}, + volume = {}, + author = {Oketunji, AF and Anas, M and Saina, D}, + editor = {}, + year = {2023}, + series = {} +} + +@misc{chen2023combatingmisinformationagellms, + title={Combating Misinformation in the Age of LLMs: Opportunities and Challenges}, + author={Canyu Chen and Kai Shu}, + year={2023}, + eprint={2311.05656}, + archivePrefix={arXiv}, + primaryClass={cs.CY}, + url={https://arxiv.org/abs/2311.05656}, +} + +@misc{crfm2021website, + title={Introducing the Center for Research on Foundation Models (CRFM)}, + author={{Stanford HAI}}, + year={2021}, + howpublished={Website}, + url={https://hai.stanford.edu/news/introducing-center-research-foundation-models-crfm} +} + +@misc{xu2024benchmarkdatacontaminationlarge, + title={Benchmark Data Contamination of Large Language Models: A Survey}, + author={Cheng Xu and Shuhao Guan and Derek Greene and M-Tahar Kechadi}, + year={2024}, + eprint={2406.04244}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2406.04244}, +} + + +@misc{ollama2024website, + title={Ollama: Get up and running with large language models, locally}, + author={Ollama}, + year={2024}, + howpublished={Website}, + url={https://ollama.com} +} + +@misc{langchain_github, + title={LangChain}, + author={{LangChain}}, + year={2024z}, + howpublished={\url{https://github.com/langchain-ai/langchain}}, + note={Accessed: 12/07/2024} +} + +@misc{bengio2014representationlearningreviewnew, + title={Representation Learning: A Review and New Perspectives}, + author={Yoshua Bengio and Aaron Courville and Pascal Vincent}, + year={2014}, + eprint={1206.5538}, + archivePrefix={arXiv}, + primaryClass={cs.LG}, + url={https://arxiv.org/abs/1206.5538}, +} + +@misc{liu2024enhancingllmscognitionstructurization, + title={Enhancing LLM's Cognition via Structurization}, + author={Kai Liu and Zhihang Fu and Chao Chen and Wei Zhang and Rongxin Jiang and Fan Zhou and Yaowu Chen and Yue Wu and Jieping Ye}, + year={2024}, + eprint={2407.16434}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2407.16434}, +} + +@misc{jacob2024drowningdocumentsconsequencesscaling, + title={Drowning in Documents: Consequences of Scaling Reranker Inference}, + author={Mathew Jacob and Erik Lindgren and Matei Zaharia and Michael Carbin and Omar Khattab and Andrew Drozdov}, + year={2024}, + eprint={2411.11767}, + archivePrefix={arXiv}, + primaryClass={cs.IR}, + url={https://arxiv.org/abs/2411.11767}, +} + +@misc{li2024retrollmempoweringlargelanguage, + title={RetroLLM: Empowering Large Language Models to Retrieve Fine-grained Evidence within Generation}, + author={Xiaoxi Li and Jiajie Jin and Yujia Zhou and Yongkang Wu and Zhonghua Li and Qi Ye and Zhicheng Dou}, + year={2024}, + eprint={2412.11919}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2412.11919}, +} + + + +@misc{wei2023chainofthoughtpromptingelicitsreasoning, + title={Chain-of-Thought Prompting Elicits Reasoning in Large Language Models}, + author={Jason Wei and Xuezhi Wang and Dale Schuurmans and Maarten Bosma and Brian Ichter and Fei Xia and Ed Chi and Quoc Le and Denny Zhou}, + year={2023}, + eprint={2201.11903}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2201.11903}, +} + +@misc{lee2024longcontextlanguagemodelssubsume, + title={Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?}, + author={Jinhyuk Lee and Anthony Chen and Zhuyun Dai and Dheeru Dua and Devendra Singh Sachan and Michael Boratko and Yi Luan and Sébastien M. R. Arnold and Vincent Perot and Siddharth Dalmia and Hexiang Hu and Xudong Lin and Panupong Pasupat and Aida Amini and Jeremy R. Cole and Sebastian Riedel and Iftekhar Naim and Ming-Wei Chang and Kelvin Guu}, + year={2024}, + eprint={2406.13121}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2406.13121}, +} + +@misc{li2024retrievalaugmentedgenerationlongcontext, + title={Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach}, + author={Zhuowan Li and Cheng Li and Mingyang Zhang and Qiaozhu Mei and Michael Bendersky}, + year={2024}, + eprint={2407.16833}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2407.16833}, +} + +@misc{ragas2024evaluation, + title={RAG Evaluation - Ragas Documentation}, + author={{Ragas}}, + year={2024}, + howpublished={Website}, + url={https://docs.ragas.io/en/stable/getstarted/rag_evaluation/} +} + + +@misc{wu2024longdocumentsummaryevaluation, + title={Less is More for Long Document Summary Evaluation by LLMs}, + author={Yunshu Wu and Hayate Iso and Pouya Pezeshkpour and Nikita Bhutani and Estevam Hruschka}, + year={2024}, + eprint={2309.07382}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2309.07382}, +} + +@misc{he2024doespromptformattingimpact, + title={Does Prompt Formatting Have Any Impact on LLM Performance?}, + author={Jia He and Mukund Rungta and David Koleczek and Arshdeep Sekhon and Franklin X Wang and Sadid Hasan}, + year={2024}, + eprint={2411.10541}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2411.10541}, +} + +@misc{huggingface2024mteb, + title={Massive Text Embedding Benchmark (MTEB) Leaderboard}, + author={{HuggingFace}}, + year={2024i}, + howpublished={Website}, + url={https://huggingface.co/spaces/mteb/leaderboard} +} + + +@misc{llamaindex2024storing, + title={Storing - LlamaIndex Documentation}, + author={{LlamaIndex}}, + year={2024}, + howpublished={Website}, + url={https://docs.llamaindex.ai/en/stable/understanding/storing/storing/} +} + + +@misc{zenml2024rag, + title={Scaling RAG Accuracy from 49\% to 86\% in Finance Q\&A Assistant}, + author={{ZenML}}, + year={2024}, + howpublished={Website}, + url={https://www.zenml.io/llmops-database/scaling-rag-accuracy-from-49-to-86-in-finance-q-a-assistant} +} + + +@misc{sentencetransformers2024website, + title={Sentence Transformers}, + author={{HuggingFace}}, + year={2024f}, + howpublished={Website}, + url={https://huggingface.co/sentence-transformers} +} + + +@misc{chromadb2024docs, + title={ChromaDB Documentation}, + author={{ChromaDB}}, + year={2024b}, + howpublished={Website}, + url={https://docs.trychroma.com/} +} + + +@misc{openai2024embeddings, + title={What are embeddings?}, + author={{OpenAI}}, + year={2024}, + howpublished={Website}, + url={https://platform.openai.com/docs/guides/embeddings/what-are-embeddings} +} + +@misc{chromadb2024hnsw, + title={ChromaDB Cookbook: HNSW Configuration}, + author={{ChromaDB}}, + year={2024a}, + howpublished={Website}, + url={https://cookbook.chromadb.dev/core/configuration/#hnsw-configuration} +} +

    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 %@ovvxoN=q42KcO4f=JH|AuTr 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