<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Forest Friends Zine]]></title><description><![CDATA[A guide for AI Engineers building the wild world of LLM system evals]]></description><link>https://forestfriends.tech/</link><image><url>https://forestfriends.tech/favicon.png</url><title>Forest Friends Zine</title><link>https://forestfriends.tech/</link></image><generator>Ghost 5.87</generator><lastBuildDate>Sat, 11 Apr 2026 11:35:58 GMT</lastBuildDate><atom:link href="https://forestfriends.tech/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Guidelines for consistent grading in LLM evals]]></title><description><![CDATA[<p>When starting off with eval, you might start with humans. It gives you experience with edge cases, and it hones your intuition of what good actually looks like. But once you do that, you need to scale up a little, which means writing guidelines on what good looks like.</p><p>This</p>]]></description><link>https://forestfriends.tech/guidelines-for-consistent-grading-in-llm-evals/</link><guid isPermaLink="false">668f08ee584a8b0001385ffb</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 10 Sep 2024 16:05:09 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/09/iamwil__httpss.mj.run69OEdLQJVZQ_A_bear_and_fox_are_talking_in__b85407e6-cfc0-4ff1-a5f3-039718b7cbb4.png" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/09/iamwil__httpss.mj.run69OEdLQJVZQ_A_bear_and_fox_are_talking_in__b85407e6-cfc0-4ff1-a5f3-039718b7cbb4.png" alt="Guidelines for consistent grading in LLM evals"><p>When starting off with eval, you might start with humans. It gives you experience with edge cases, and it hones your intuition of what good actually looks like. But once you do that, you need to scale up a little, which means writing guidelines on what good looks like.</p><p>This isn&apos;t time wasted, because the work you do writing guidelines for human evaluators will be similar, if not identical to the prompt you would need to give to LLMs-as-a-judge. So do the reps and don&apos;t skip this step.</p><p>You want to be specific and prescriptive in your guidelines. The idea is to codify your intuition of what good looks like to other people so they can replicate your process and judgment. Be specific but not overly prescriptive, and this can be a hard balance to strike.</p><p>First, explain the context of the task. What is the user trying to accomplish? What do they expect from the system? What is the context in which they&apos;re trying to accomplish this task?</p><p>Then, show the grader examples of responses and how those responses would be graded. The examples should cover both typical responses and edge cases. However, there&apos;s no need to enumerate every edge case. Just three to five examples will do. Both humans and LLMs can&apos;t hold that much in their proverbial heads, despite the lengthening context window.</p><p>There are sections of a prompt context that the LLM will forget and unable to find a piece of information. So do what you can to keep things clear, succinct, and to the point. For more, check out &quot;needle in the haystack&quot; experiments.</p><p>Then finally, present the grading scale and what it means. It&apos;s better to use a binary grade. Better yet, compare two samples, and let the grade choose which one is better.</p><p>You should give a checklist of things to would be things to watch out for. This will help human and LLM graders be more consistent about how they grade a particular output.</p><p>Some thought should be paid to the grading scale when systematizing your LLM evals, regardless of whether they&apos;re for humans for LLM-as-a-judge. A bad grading scale can skew your ability to assess your output accurately. Humans do best if they have binary choices or have two samples to compare with each other.</p><p>And after you&apos;ve deployed to either human or LLM graders, you&apos;re not done. It&apos;s now time to iterate. Keep an eye on the output, and see what kind of bugs and complaints come in. Then keep adjusting your eval and see how the metrics you&apos;ve set up in place improve.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Intrigued about evals? We&apos;re publishing a zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to preview and pre-order</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Aligning LLMs-as-a-judge]]></title><description><![CDATA[<p>LLMs-as-a-judge sounds counterintuitive. How can LLMs judge its own work? If it could, wouldn&apos;t it just do better in the first place? Remember, LLMs are like stochastic functions out of the box. They don&apos;t have any memory outside of what you provide in its context.</p><p>And</p>]]></description><link>https://forestfriends.tech/aligning-llms-as-a-judge/</link><guid isPermaLink="false">6691a279584a8b00013860dd</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 03 Sep 2024 16:00:52 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/09/iamwil__A_bear_and_fox_are_standing_behind_a_counter_cooking_in_aede8412-0504-47a7-8765-2a157a8271f4-copy.png" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/09/iamwil__A_bear_and_fox_are_standing_behind_a_counter_cooking_in_aede8412-0504-47a7-8765-2a157a8271f4-copy.png" alt="Aligning LLMs-as-a-judge"><p>LLMs-as-a-judge sounds counterintuitive. How can LLMs judge its own work? If it could, wouldn&apos;t it just do better in the first place? Remember, LLMs are like stochastic functions out of the box. They don&apos;t have any memory outside of what you provide in its context.</p><p>And after all, a human can judge the work of another human, if that&apos;s easier for you to think about. Before we use LLMs-as-a-judge, we have to align it with human judgments of the output in this particular domain. The raw output of an LLM is a summary of the crush of humanity.</p><p>You start like you do with all Machine Learning: the unsexy collecting and cleaning of data. You want to collect a number of samples of what &quot;good&quot; looks like and cover a lot of the edge cases too. The good news is that you don&apos;t need to collect nearly the amount that you used to.</p><p>But you still need to do enough. This is why it pays to be systematic and organized about your manual vibes-based judgments. If you haven&apos;t started doing that, you&apos;ll need to start to do that to hand off the job to an LLM. This is your golden dataset, the source of truth.</p><p>This golden dataset should at least cover the most common cases and some edge cases that you care about. Any sort of biases to your dataset that you want to avoid should be paid attention to here at this stage.</p><p>Then, you want to run the examples through your LLM eval and compute how correlated the LLM eval labeling is to the golden dataset of human labeling.</p><p>Lastly, create a confusion matrix to see where the LLM and the human disagree. If there&apos;s complete agreement, then there&apos;d only be numbers in the diagonal. Then you simply iterate your prompt to drive down confusion. It usually only takes a few iterations, empirically. Shoot for above 80%. The whole idea is to have an LLM that would judge the same as a human user. </p><p>Would you LLM eval an evaluator? Is it turtles all the way down? Usually no. Because the evaluation of an eval is usually a yes/no or the selection between choices, it&apos;s easier to judge, so we opt for statistical metrics and code to just the output of the evaluator!</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Intrigued about evals? We&apos;re publishing a zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to preview and pre-order</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Did we help you build system evals?]]></title><description><![CDATA[<p>Hello!</p><p>Sri and I want to thank you for purchasing the <a href="https://issue1.forestfriends.tech/?ref=forestfriends.tech" rel="noreferrer">first issue of Forest Friends: <em>LLM system evals in the wild</em></a>.</p><p>In this first week since launch, we&apos;ve hit our sales goal! And hopefully, you&apos;ve had a chance to look through the issue. </p><p>If you&</p>]]></description><link>https://forestfriends.tech/did-we-help-you-build-system-evals/</link><guid isPermaLink="false">66d408ef07233300011dc3e6</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Mon, 02 Sep 2024 16:05:24 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/09/iamwil__httpss.mj.runy0J1SrXLT2k_An_anthropomorphic_fox_is_ho_17010c9a-5f0b-454f-9bc0-a72d9d03a579_2-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/09/iamwil__httpss.mj.runy0J1SrXLT2k_An_anthropomorphic_fox_is_ho_17010c9a-5f0b-454f-9bc0-a72d9d03a579_2-1.png" alt="Did we help you build system evals?"><p>Hello!</p><p>Sri and I want to thank you for purchasing the <a href="https://issue1.forestfriends.tech/?ref=forestfriends.tech" rel="noreferrer">first issue of Forest Friends: <em>LLM system evals in the wild</em></a>.</p><p>In this first week since launch, we&apos;ve hit our sales goal! And hopefully, you&apos;ve had a chance to look through the issue. </p><p>If you&apos;ve read through the issue, We&apos;d like to get some feedback from you.</p><ul><li>Did we help you build system evals for your LLM-driven app? </li><li>What topic would you want us to cover in issue 2?</li></ul><p>If you have any feedback on these and more, please send it to <a href="mailto:iamwil@gmail.com?subject=Forest%20Friends%20Feedback" rel="noreferrer">iamwil@gmail.com</a>.</p><p>Also, if you found the issue helpful, please tell your AI engineering friends about it! Thanks!</p>]]></content:encoded></item><item><title><![CDATA[First Issue of Forest Friends is Out!]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/cover_image-1.jpg" class="kg-image" alt loading="lazy" width="1232" height="928" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/cover_image-1.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/cover_image-1.jpg 1000w, https://forestfriends.tech/content/images/2024/08/cover_image-1.jpg 1232w" sizes="(min-width: 720px) 720px"></figure><p>The first issue of Forest Friends on <em>Large Language Model System Evals in the Wild</em> is out! Those that have pre-ordered have received their copy [^1]. Those of you who have been waiting to see if it&apos;d come to fruition, the wait is over. It&apos;s now</p>]]></description><link>https://forestfriends.tech/first-issue-of-forest-friends-is-out/</link><guid isPermaLink="false">66c8aae357fc1200019ec2bf</guid><category><![CDATA[News]]></category><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Thu, 29 Aug 2024 14:33:39 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/cover_image-1.jpg" class="kg-image" alt loading="lazy" width="1232" height="928" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/cover_image-1.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/cover_image-1.jpg 1000w, https://forestfriends.tech/content/images/2024/08/cover_image-1.jpg 1232w" sizes="(min-width: 720px) 720px"></figure><p>The first issue of Forest Friends on <em>Large Language Model System Evals in the Wild</em> is out! Those that have pre-ordered have received their copy [^1]. Those of you who have been waiting to see if it&apos;d come to fruition, the wait is over. It&apos;s now <a href="https://issue1.forestfriends.tech/?ref=forestfriends.tech" rel="noreferrer">available for sale</a>.</p><p>We originally targeted thirty pages but ended up expanding to sixty covering how to get started on designing system evals, from vibes, through choosing quality dimensions, aligning LLMs as judges, and finally t0 analyzing the evals scores.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Here&apos;s an engaging intro to evals by <a href="https://twitter.com/sridatta?ref_src=twsrc%5Etfw&amp;ref=forestfriends.tech">@sridatta</a> and&#xA0;<a href="https://twitter.com/iamwil?ref_src=twsrc%5Etfw&amp;ref=forestfriends.tech">@iamwil</a>. They&apos;ve clearly put a lot of care and effort into it, where the content is well organized with plenty of illustrations throughout.<br><br>Across 60 pages, they explain model vs. system evals,  vibe checks and property-based&#x2026; <a href="https://t.co/8TnTvAKc0D?ref=forestfriends.tech">pic.twitter.com/8TnTvAKc0D</a></p>&#x2014; Eugene Yan (@eugeneyan) <a href="https://twitter.com/eugeneyan/status/1827863486162260084?ref_src=twsrc%5Etfw&amp;ref=forestfriends.tech">August 26, 2024</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></figure><p>We go through some worked examples with Fox and Bear trying to run an LLM-driven cafe that creates recipes based on customer requests as we introduce the different concepts.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://forestfriends.tech/content/images/2024/08/13.jpg" width="1125" height="1500" loading="lazy" alt srcset="https://forestfriends.tech/content/images/size/w600/2024/08/13.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/13.jpg 1000w, https://forestfriends.tech/content/images/2024/08/13.jpg 1125w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://forestfriends.tech/content/images/2024/08/21.jpg" width="1125" height="1500" loading="lazy" alt srcset="https://forestfriends.tech/content/images/size/w600/2024/08/21.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/21.jpg 1000w, https://forestfriends.tech/content/images/2024/08/21.jpg 1125w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://forestfriends.tech/content/images/2024/08/44-1.jpg" width="1125" height="1500" loading="lazy" alt srcset="https://forestfriends.tech/content/images/size/w600/2024/08/44-1.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/44-1.jpg 1000w, https://forestfriends.tech/content/images/2024/08/44-1.jpg 1125w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>We also cover how to use LLMs-as-a-judge, by first using a golden dataset to align the LLM, and iterating on the prompt to drive precision and recall metrics up. And if you&apos;re new to data science, we explain precision and recall too.</p><p>So if you want to get an intro to the eval side of building LLM-driven apps, this is a good place to start. If you&apos;re still unsure, <a href="https://forestfriends.tech/assets/preview.pdf?v=b1306bfd5b" rel="noreferrer">click here for the preview</a>, and feel free to ask me any questions <a href="https://x.com/iamwil?ref=forestfriends.tech" rel="noreferrer">@iamwil on Twitter</a>. </p><hr><p>[^1]: if you pre-ordered and had trouble with the download, get in touch at iamwil@gmail.com</p>]]></content:encoded></item><item><title><![CDATA[How to download Issue 1]]></title><link>https://forestfriends.tech/how-to-download-issue-1/</link><guid isPermaLink="false">66ca20c157fc1200019ec435</guid><category><![CDATA[Support]]></category><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Sat, 24 Aug 2024 18:17:04 GMT</pubDate><content:encoded/></item><item><title><![CDATA[Issue 1: Large Language Model System Evals in the Wild]]></title><link>https://forestfriends.tech/issue-001-system-evals/</link><guid isPermaLink="false">66c8bd1457fc1200019ec308</guid><category><![CDATA[Issues]]></category><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Sat, 24 Aug 2024 16:24:00 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/08/cover_image.jpg" medium="image"/><content:encoded/></item><item><title><![CDATA[Leveling up from vibes-based engineering]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png" class="kg-image" alt loading="lazy" width="672" height="448" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png 600w, https://forestfriends.tech/content/images/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png 672w"></figure><p>You&apos;ve got an LLM in prod and are relying on &quot;vibes&quot; to gauge output quality. Sound familiar? It&apos;s a start, but you&apos;ll need to instrument your pipeline and get systematic to drive real improvements.</p><p>Our brains are powerful pattern-matchers for what makes</p>]]></description><link>https://forestfriends.tech/leveling-up-from-vibes-based-engineering/</link><guid isPermaLink="false">669026dc584a8b000138601b</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 20 Aug 2024 20:02:48 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png" class="kg-image" alt loading="lazy" width="672" height="448" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png 600w, https://forestfriends.tech/content/images/2024/08/iamwil__httpss.mj.runXEPdXApjrkM_High_angle_view_looking_slight_7a56ff20-bcb1-4bb1-a254-6f84cf1f37b2-copy-1.png 672w"></figure><p>You&apos;ve got an LLM in prod and are relying on &quot;vibes&quot; to gauge output quality. Sound familiar? It&apos;s a start, but you&apos;ll need to instrument your pipeline and get systematic to drive real improvements.</p><p>Our brains are powerful pattern-matchers for what makes one response good in one context, but terrible in another. But it can be hard to articulate. Starting with vibe-based engineering is how you begin articulating quality through an iterative process.</p><p>However, we have to systematize what makes a response good or bad, so we compare the responses between runs, between users, and over time. </p><p>First, instrument your pipeline and collect the outputs at every stage of the pipeline. For each user invocation, record the query, prompt, retrieved docs, chain of thought output, and final output. You want to be able to review and audit the sequence of responses from the LLM should anything go wrong. You can dump them in a .txt or a database. Whatever&apos;s easier.</p><p>Then, curate your example dataset. Come up with examples that cover the main use cases and as many edge cases of your application. Also, pull from queries from user feedback and bug reports. Typical business metrics like session length, bounce rate, will all be helpful.</p><p>Do loss analysis. Look through the data in the traced output: Did the error happen at the end or somewhere near the beginning? Gather losses into the same category and prioritize the largest category of losses. Tackle the largest category for fast improvement.</p><p>Lastly, iterate! It&apos;s surprising how fast you can make improvements with manual reviews, especially at first. It&#x2019;s only when we start tackling the long tail of the edge cases and comparison over time that we&#x2019;d want to leverage a systematized way of evaluating how our LLM is doing.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Intrigued about evals? We&apos;re publishing a zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to preview and pre-order</a>.</div></div>]]></content:encoded></item><item><title><![CDATA['LLM Evals In The Wild' Zine - The Final Push!]]></title><description><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://forestfriends.tech/content/images/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1285" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 1000w, https://forestfriends.tech/content/images/size/w1600/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 1600w, https://forestfriends.tech/content/images/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 2000w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Our zine layout on Canva. We&apos;re almost at 60 pages!</span></figcaption></figure><p><em>As a reminder, you subscribed to get updates on our zine about LLM evals.</em></p><p>We&apos;ve had some folks eager to get their hands on their copy and are wondering where it is. </p><p>Rest assured, we&apos;</p>]]></description><link>https://forestfriends.tech/llm-evals-in-the-wild-zine-the-final-push/</link><guid isPermaLink="false">66bfbfd25945e5000115a86d</guid><dc:creator><![CDATA[Sridatta Thatipamala]]></dc:creator><pubDate>Fri, 16 Aug 2024 22:42:52 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://forestfriends.tech/content/images/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png" class="kg-image" alt loading="lazy" width="2000" height="1285" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 600w, https://forestfriends.tech/content/images/size/w1000/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 1000w, https://forestfriends.tech/content/images/size/w1600/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 1600w, https://forestfriends.tech/content/images/2024/08/Screenshot-2024-08-16-at-2.04.45-PM.png 2000w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Our zine layout on Canva. We&apos;re almost at 60 pages!</span></figcaption></figure><p><em>As a reminder, you subscribed to get updates on our zine about LLM evals.</em></p><p>We&apos;ve had some folks eager to get their hands on their copy and are wondering where it is. </p><p>Rest assured, we&apos;re putting the final touches. As with many creative endeavors, it took longer than we expected. But you&apos;ll be getting some benefits. </p><ul><li><strong>The zine is now 60 pages vs. 30 </strong>(our original estimate) &#x2013; We realized there is so much tacit knowledge that was previously only known to ML researchers and data scientists. So we added a bunch of material spelling out exactly what to do to get an eval up and running.</li><li>It features a <strong>new solarpunk art style</strong> &#x2013; We reworked the art to be more futuristic. It&apos;s all Midjourney-generated now, which will let us work on future zine issues even quicker.</li></ul><p>We&apos;ve been calling it a zine but really it&apos;s shaping out to be a full-fledged book.</p><p>If you&apos;ve already ordered, you&apos;ll be getting your copy by email as soon as next week. If you haven&apos;t ordered yet, go <a href="https://forestfriends.tech/" rel="noreferrer">order it here</a> while it&apos;s still at the pre-order price!</p>]]></content:encoded></item><item><title><![CDATA[Doing vibes-based engineering right]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png" class="kg-image" alt loading="lazy" width="616" height="464" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png 600w, https://forestfriends.tech/content/images/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png 616w"></figure><p>If you&apos;re struggling to whip your LLM output into shape, start with &quot;vibe-based engineering&quot;, by judging outputs by look &amp; feel. It doesn&apos;t scale, but it&apos;s the foundation for systematizing evals later. </p><p>What is vibe-based engineering? Just start by looking at the</p>]]></description><link>https://forestfriends.tech/doing-vibes-based-engineering-right/</link><guid isPermaLink="false">66902879584a8b0001386040</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 13 Aug 2024 20:01:55 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png" class="kg-image" alt loading="lazy" width="616" height="464" srcset="https://forestfriends.tech/content/images/size/w600/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png 600w, https://forestfriends.tech/content/images/2024/08/iamwil__Close-up_view_of_an_anthropomorphic_pair_of_kawaii_be_632bd013-b8c8-4f51-a415-44811c3363ab_2-2.png 616w"></figure><p>If you&apos;re struggling to whip your LLM output into shape, start with &quot;vibe-based engineering&quot;, by judging outputs by look &amp; feel. It doesn&apos;t scale, but it&apos;s the foundation for systematizing evals later. </p><p>What is vibe-based engineering? Just start by looking at the generated results. Do they look alright? It&#x2019;s ok to start here and do things that don&#x2019;t scale. Good can be hard to articulate, and by looking at output one by one, you can start to define what constitutes a good output.</p><p>Be willing to iterate. Sci-fi promised AI as an intellectual supreme but the reality is more a writer of bad high school essays by default. You must be willing to keep changing the prompt to see what coaxes more focused and inspired responses. It&apos;s helpful to think of LLMs as a throng of humanity, and it&apos;s up to you to steer it to the geniuses among us with your prompt.</p><p>Use an exacting communication style. LLMs are like fast-working interns who need a lot of guidance. By starting out judging each output manually, you&#x2019;ll start to be able to articulate why an output is good. If you&apos;re still struggling, just find examples to show the LLM.</p><p>Build a golden dataset. Based on the manual work that you&#x2019;re doing, you&#x2019;re building a database of samples. Shoot for 30 to 50 as samples to help steer future automated eval. Examples should cover the span of outputs, as well as some edge cases.</p><p>Lastly, slowly systematize the eval process to automate. Use golden datasets, unit tests, and statistical metrics to see how well your eval process is doing. Unit tests catch easy things you don&#x2019;t need an LLM for, such as output length or JSON formatting. Statistical metrics are like precision, recall, and F1 scores to triangulate the performance of the eval to be able to generate similar outputs from your golden dataset.</p><p>While vibes engineering doesn&apos;t scale, it&apos;s a good way to build intuition for your domain and the types of output that you&apos;re getting from which kinds of prompts. Before you can teach quality to another human or to an LLM, you have to know what good looks like yourself first. Vibes is definitely a way to do that, and making sure you&apos;re systematic and organized about it is a good way to slowly automate it.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Intrigued about evals? We&apos;re publishing a zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to preview and pre-order</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Iterate, iterate, iterate your prompts]]></title><description><![CDATA[<p>Sci-fi has set our expectations for LLMs incorrectly. People write a one or two-line prompt and give up when they don&#x2019;t get the expected output. To effectively use LLMs today, you need to adopt a particular habit of mind. Just like writing in school, the only way you</p>]]></description><link>https://forestfriends.tech/iterate-iterate-iterate-your-prompts/</link><guid isPermaLink="false">66902785584a8b000138602b</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 06 Aug 2024 19:59:24 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/07/IMG_2603.HEIC.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/07/IMG_2603.HEIC.jpg" alt="Iterate, iterate, iterate your prompts"><p>Sci-fi has set our expectations for LLMs incorrectly. People write a one or two-line prompt and give up when they don&#x2019;t get the expected output. To effectively use LLMs today, you need to adopt a particular habit of mind. Just like writing in school, the only way you get good writing is to:<br><br>Iterate, iterate, iterate.<br><br>Prompting is much easier for people who understand that communication is hard, and the only way to arrive at a mutual understanding is in incremental steps. Start by spelling out the task you&#x2019;d like the LLM to perform. Then depending on the output, start layering on different conditions, such as the role it&apos;s supposed to take. An insightful design architect. The most moving copywriter. Or the most empathetic customer support. You can add examples of what you&#x2019;re looking for based on the output. Is the output too sale-sy? Tell the LLM to tone it down. Not creative enough? Tell it to go wild on creativity. <br><br>You can dictate style and what good looks like. If you can&#x2019;t describe it, find examples. Look at the output again. Not quite right? Ask it to follow specific principles you know that make good output if you were to describe it to a junior colleague. <br><br>Lay out guiding principles. Ask it to reason out the task step by step (chain of thought) before tackling the task. Don&#x2019;t be overly specific. It&#x2019;s easy to get lackluster output when you over-specify what you want. Finding the right balance also requires experimentation and iteration over time.<br><br>There are many other ways to improve the output. The key is to iterate, iterate, iterate.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F372;</div><div class="kg-callout-text">Like what you read? We&apos;re serving it hot with a digital zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Visit Forest Friends to see all the details</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Grading scales matter for eval consistency]]></title><description><![CDATA[<p>Some thought should be paid to the grading scale when systematizing your LLM evals, regardless of whether they&apos;re for humans for LLM-as-a-judge. A bad grading scale can skew your ability to assess your output accurately. <br><br>Grading scales are the ratings by which humans or LLMs judge the output</p>]]></description><link>https://forestfriends.tech/grading-scales-matter-for-eval-consistency/</link><guid isPermaLink="false">669031e0584a8b0001386085</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 30 Jul 2024 19:57:40 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/07/IMG_2601-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/07/IMG_2601-1.jpg" alt="Grading scales matter for eval consistency"><p>Some thought should be paid to the grading scale when systematizing your LLM evals, regardless of whether they&apos;re for humans for LLM-as-a-judge. A bad grading scale can skew your ability to assess your output accurately. <br><br>Grading scales are the ratings by which humans or LLMs judge the output of another LLM doing a task. You can ask human/LLM judges to rate the output on a numeric scale like Yelp reviews. <br><br>Typical scales are 1 to 5 or 1 to 10. The trouble is, they&apos;re inconsistent.What exactly constitutes a 5 on a 10pt scale? and exactly how is it different than a 6? Even if you could spell it out, a typical human won&apos;t be able to keep it all in their head.In addition, on a 10pt scale, people won&apos;t use the full scale evenly. Most humans will pick 7 to mean &quot;meh.&quot; 1-6 is considered &quot;failing&quot;, and if something is bad, they&apos;ll pounce on 1 as emotional emphasis, thus neglecting 2-6.On the other end, 8-10 are considered &quot;safely optimistic&quot;, so out of a 10 point, you&apos;d get rating compression to just 3 positions on a 10pt scale.<br><br>As it turns out, LLMs are also bad at this. As a result, your evals will be inconsistent with not much discrimination power.Both humans and LLMs do best with a binary judgment (yes/no, true/false, relevant/not), or a side-to-side comparison between two competing outputs.<br><br>Side-by-side comparisons can generate ELO scores over time for a ranking of outputs.The more nuanced the grading scale, the more likely two graders (or the same grader on different days!) would give different answers. <br><br>Counter-intuitive, but you get the nuance from sampling across many independent judgments, rather than from resolution in grading scale!</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F372;</div><div class="kg-callout-text">Like what you read? We&apos;re serving it hot with a digital zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Visit Forest Friends to see all the details</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Forest Friends Eval Zine: Weekly Update]]></title><description><![CDATA[<p>Hey Forest Friend!</p><p>Wil and I are hard at working on doing the final pass of the zine. Right now we&#x2019;re focused on ensuring that it is <strong>actionable</strong>; that every page gets you one step closer to trusting in your LLM system.</p><figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png" class="kg-image" alt loading="lazy" width="694" height="1116" srcset="https://forestfriends.tech/content/images/size/w600/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png 600w, https://forestfriends.tech/content/images/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png 694w"></figure><p>Last month, I went to the</p>]]></description><link>https://forestfriends.tech/weekly-update-0725/</link><guid isPermaLink="false">66a17168584a8b00013861ea</guid><dc:creator><![CDATA[Sridatta Thatipamala]]></dc:creator><pubDate>Wed, 24 Jul 2024 21:31:33 GMT</pubDate><content:encoded><![CDATA[<p>Hey Forest Friend!</p><p>Wil and I are hard at working on doing the final pass of the zine. Right now we&#x2019;re focused on ensuring that it is <strong>actionable</strong>; that every page gets you one step closer to trusting in your LLM system.</p><figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png" class="kg-image" alt loading="lazy" width="694" height="1116" srcset="https://forestfriends.tech/content/images/size/w600/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png 600w, https://forestfriends.tech/content/images/2024/07/Screenshot-2024-07-25-at-6.29.02-AM.png 694w"></figure><p>Last month, I went to the AI Engineer&#x2019;s World Fair in San Francisco and talked to 100+ people about their eval strategy. One of the fears that I heard was: &#x201C;evals are a big company thing and not for me.&#x201D;</p><p>I can see why people would think that. There&#x2019;s no shortage of content describing why you should have evals. There&#x2019;s very little content telling you <strong>exactly what you should build and how</strong>.</p><p>Our goal with this zine is really to help you go from &#x201C;zero to eval,&#x201D; and show value to your team.</p><p>If you&#x2019;ve already pre-ordered, thank you for your support! And if you haven&#x2019;t, go ahead and <a href="https://forestfriends.tech/" rel="noreferrer">do it now</a>!</p>]]></content:encoded></item><item><title><![CDATA[Leverage code for system evals]]></title><description><![CDATA[<p>There&apos;s no one tool that will nail down a notion of &quot;good&quot; for you to express in a LLM eval. Instead, you need to use multiple tools to triangulate this notion of &quot;good&quot; to evaluate an output.<br><br>A simple, yet overlooked eval is code.</p>]]></description><link>https://forestfriends.tech/leverage-code-for-evals/</link><guid isPermaLink="false">6690323d584a8b000138608e</guid><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 23 Jul 2024 19:55:44 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/07/IMG_2600.HEIC.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/07/IMG_2600.HEIC.jpg" alt="Leverage code for system evals"><p>There&apos;s no one tool that will nail down a notion of &quot;good&quot; for you to express in a LLM eval. Instead, you need to use multiple tools to triangulate this notion of &quot;good&quot; to evaluate an output.<br><br>A simple, yet overlooked eval is code. No need to throw away tools we already know. </p><p>This goes by different names: property-based testing or unit tests. They&apos;re useful when what you want to check are very precisely defined and easy to express in code. No need to leverage humans or LLMs to do this kind of checking, as they can&apos;t do better than code.For example, simply checking JSON output formatting or conformity to an API specification can be done in code. <br><br>Certain size restrictions, such as being less than 420 chars, or that it has certain fixed templates or elements. You can do all that with regexes and counts.Don&apos;t go too far with regexes. Think about where the 80% line is. For something like detecting whether there&apos;s a full name or just a last name, lean towards a LLM. There&apos;s far too many variations in the wild for a regex.<br><br>Did you account for deBussey? van Buren? Stenson-clifford?For something like &quot;is it an email?&quot;, you get away with a regex on &quot;@&quot; most of the time. While the full email spec results in a ridiculous regex to catch all edge cases, they occur far less than odd last names.<br><br>But you have to judge, for your own case, and acceptable false neg.Either way, leverage code for what it&apos;s good at: quick checks for properties of the output that you want high precision, and can be easily expressed in code.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F372;</div><div class="kg-callout-text">Like what you read? We&apos;re serving it hot with a digital zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to see all the details</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Defining good metrics for evaluation]]></title><description><![CDATA[<p>What constitutes good? LLMs aren&#x2019;t magic. If you can&#x2019;t articulate what good looks like, the LLM won&#x2019;t know either. Part of that is learning to pick the metrics to bracket in that elusive definition of good. All that you learned in ML engineering doesn&</p>]]></description><link>https://forestfriends.tech/defining-good-metrics-for-evaluation-2/</link><guid isPermaLink="false">66903020584a8b0001386073</guid><category><![CDATA[System Evals]]></category><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 16 Jul 2024 16:57:15 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/07/IMG_2599.HEIC.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/07/IMG_2599.HEIC.jpg" alt="Defining good metrics for evaluation"><p>What constitutes good? LLMs aren&#x2019;t magic. If you can&#x2019;t articulate what good looks like, the LLM won&#x2019;t know either. Part of that is learning to pick the metrics to bracket in that elusive definition of good. All that you learned in ML engineering doesn&#x2019;t go away with Prompt engineering.</p><p>When picking metrics for your eval, keep in mind there is no one good measure. You&#x2019;ll need to use multiple. There are two types of metrics: optimizing metrics and satisficing metrics.</p><p>Optimizing metrics are the numbers you want to keep improving as a metric of how well you&#x2019;re hitting your goal. This can depend on the domain, but keep the metric simple. It won&#x2019;t capture every aspect of good, but all metrics are a proxy for good.</p><p>Satisficing metrics are guardrails to ensure your product is avoiding risk to your users or your business. Typically there are responses considered universally inappropriate in your domain, such as medical advice or life advice.</p><p>These two numbers are in tension, often playing tug-of-war at the intersection of helpfulness. For example, to improve a customer support AI, it may be more helpful to be more empathetic, but it may also decrease safety by dispensing medical advice.</p><p>Then for each of the two types of metrics, you can pay attention to two attributes for the anatomy of that metric: Quality and grading scale.</p><p>What is quality? It&#x2019;s not enough to say you&#x2019;ll know it when you see it. It&#x2019;s also not enough to give general advice about it for every domain. For example, in a Q&amp;A app, quality might be measured by classic information retrieval metrics like relevance, precision, and recall.</p><p>Whereas with conversational assistant apps, quality might be measured by the tool selection accuracy and the end-to-end success rate. It all depends on the application. Again, remember you&#x2019;ll need multiple metrics that are simple to calculate to box in a definition of good</p><p>For the grading scale of a metric, you want to ensure you get consistent judgments from the same output. Both people and LLMs are much more consistent with binary choices and choosing the better of two versions.</p><p>Remember that metrics are proxies for quality. You&apos;ll always need to use multiple metrics to triangulate the qualities that you want in an output. And finally, you&apos;ll need to keep an eye on the actual output over time to ensure that the metrics aren&apos;t being gamed. </p><p>Each time you&apos;re doing a vibe-based eval, keep building an intuition of what good looks and write down that intuition. That&apos;ll make it easier to find metrics that will align with the intuition later down the line!</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F372;</div><div class="kg-callout-text">Like what you read? We&apos;re serving it hot with a digital zine on LLM evals. <a href="https://forestfriends.tech/" rel="noreferrer">Click here to see all the details</a>.</div></div>]]></content:encoded></item><item><title><![CDATA[Pre-order available for LLM eval Issue 1]]></title><description><![CDATA[Today, you can pre-order the first issue of detailing LLM evals. For a limited time, pre-orders are $20, the after-release price is $24. ]]></description><link>https://forestfriends.tech/pre-order-available-for-llm-eval-issue-1/</link><guid isPermaLink="false">668d90b4584a8b0001385f2f</guid><category><![CDATA[News]]></category><dc:creator><![CDATA[Wil Chung]]></dc:creator><pubDate>Tue, 09 Jul 2024 20:55:09 GMT</pubDate><media:content url="https://forestfriends.tech/content/images/2024/07/issue_1_cover_header-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://forestfriends.tech/content/images/2024/07/issue_1_cover_header-1.jpg" alt="Pre-order available for LLM eval Issue 1"><p>Hi all, thanks for your interest in the LLM eval digital zine either through Twitter or meeting Sri, the guy with &quot;Ask me about Evals tshirt&quot; at the AI conference. </p><p>Today, you can pre-order the first issue of detailing LLM evals at <a href="https://forestfriends.tech/" rel="noreferrer">forestfriends.tech</a>. For a limited time, pre-orders are $20, down from the after-release price of $24. You&apos;ll learn about how to build evals, as well as (but not limited to):</p><ul><li>How to do vibes-based engineering right.</li><li>Learn how different grading scales affect eval.</li><li>Witness cosmic horrors explain statistical metrics.</li><li>Bright hand-drawn illustrations eschewing AI-generated images. (or is it?)</li></ul><figure class="kg-card kg-image-card"><img src="https://forestfriends.tech/content/images/2024/07/IMG_2309.jpg" class="kg-image" alt="Pre-order available for LLM eval Issue 1" loading="lazy" width="2000" height="1125" srcset="https://forestfriends.tech/content/images/size/w600/2024/07/IMG_2309.jpg 600w, https://forestfriends.tech/content/images/size/w1000/2024/07/IMG_2309.jpg 1000w, https://forestfriends.tech/content/images/size/w1600/2024/07/IMG_2309.jpg 1600w, https://forestfriends.tech/content/images/2024/07/IMG_2309.jpg 2016w" sizes="(min-width: 720px) 720px"></figure><p>We&apos;re still hard at work producing the assets and organizing the flow of the content. We should be ready to deliver at the beginning of August and will keep you all posted. </p>]]></content:encoded></item></channel></rss>