<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Justin Angel]]></title><description><![CDATA[Justin Angel]]></description><link>https://www.justinangel.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!wqDL!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f170cbd-8c4e-4a27-b226-e26d9f000103_1449x1449.jpeg</url><title>Justin Angel</title><link>https://www.justinangel.ai</link></image><generator>Substack</generator><lastBuildDate>Sat, 18 Jul 2026 05:18:26 GMT</lastBuildDate><atom:link href="https://www.justinangel.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Justin Angel]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[justinangelai@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[justinangelai@substack.com]]></itunes:email><itunes:name><![CDATA[Justin Angel]]></itunes:name></itunes:owner><itunes:author><![CDATA[Justin Angel]]></itunes:author><googleplay:owner><![CDATA[justinangelai@substack.com]]></googleplay:owner><googleplay:email><![CDATA[justinangelai@substack.com]]></googleplay:email><googleplay:author><![CDATA[Justin Angel]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Build Your Own LLM: The Workshop]]></title><description><![CDATA[23 videos &#183; 250 slides &#183; 50 hands-on exercises &#183; Free &#183; No Math or ML Prerequisites.]]></description><link>https://www.justinangel.ai/p/build-your-own-llm</link><guid isPermaLink="false">https://www.justinangel.ai/p/build-your-own-llm</guid><dc:creator><![CDATA[Justin Angel]]></dc:creator><pubDate>Tue, 23 Jun 2026 17:58:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/49825865-b402-48c4-a48f-357a6ea27511_1200x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hjC7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hjC7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 424w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 848w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 1272w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hjC7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png" width="900" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1651571,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hjC7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 424w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 848w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 1272w, https://substackcdn.com/image/fetch/$s_!hjC7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417a24e7-3cc8-451e-bb0a-368f5a53d3a5_900x954.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last month I hosted an in-person workshop about building your own large language model without any math or ML prerequisites. It covers everything from machine learning fundamentals, deep neural networks, transformer architecture, and pre/post-training. I&#8217;m excited to release recordings and training materials for you to watch! </p><h1 style="text-align: center;"> [<a href="https://go.JustinAngel.ai/video-1">Start Watching: Build Your Own LLM </a>]</h1><p style="text-align: center;"><strong>[<a href="https://go.JustinAngel.ai/deck">Read the slides</a>]   [<a href="https://go.JustinAngel.ai/drive">Do the Exercises]</a></strong> </p><div id="youtube2-vXiB0UdDhk8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vXiB0UdDhk8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vXiB0UdDhk8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The workshop&#8217;s goal is to grok all parts of modern LLM development. So each workshop section builds intuition sequentially: starting from slides teaching the concepts, followed by excel-by-hand exercises developing intuition for the math, and then coding tutorials. One participant, <a href="https://emilyhk.com/llm-workshop/">Emily HK</a>, noted: &#8220;<em>The best part of this workshop is that all the content is still available online for me to refresh my memory at any point.</em>&#8221;. Well, now you have access to these materials as well! </p><ul><li><p><strong>23 Workshop Videos </strong> @ <a href="https://go.JustinAngel.ai/playlist">https://go.JustinAngel.ai/</a><strong><a href="https://go.JustinAngel.ai/playlist">playlist</a></strong></p></li><li><p><strong>250-page Slide Deck </strong>@ <a href="https://go.JustinAngel.ai/deck">https://go.JustinAngel.ai/</a><strong><a href="https://go.JustinAngel.ai/deck">deck</a></strong></p></li><li><p><strong>50 Excel and Code Exercises</strong> @ <a href="https://go.JustinAngel.ai/drive">https://go.JustinAngel.ai/</a><strong><a href="https://go.JustinAngel.ai/drive">drive</a></strong></p></li></ul><p></p><h2>Why I Recorded the In-Person Workshop</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fywU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fywU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 424w, https://substackcdn.com/image/fetch/$s_!fywU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 848w, https://substackcdn.com/image/fetch/$s_!fywU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!fywU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fywU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png" width="1456" height="1029" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1029,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2173994,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!fywU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 424w, https://substackcdn.com/image/fetch/$s_!fywU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 848w, https://substackcdn.com/image/fetch/$s_!fywU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!fywU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3545112b-e220-4258-a70c-3c417c561f55_1492x1054.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We had over 200 registrations for the in-person workshop in San Francisco! Unfortunately we only had physical space for ~30 attendees. Driven by guilt for having to turn away ~200 people, I ended up spending a week recording, editing and uploading all the materials to YouTube. If you happen to know of a space in SF that can host more than 30 people for the next workshop, let me know? </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xczl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xczl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 424w, https://substackcdn.com/image/fetch/$s_!xczl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 848w, https://substackcdn.com/image/fetch/$s_!xczl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 1272w, https://substackcdn.com/image/fetch/$s_!xczl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xczl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png" width="1456" height="274" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:274,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59892,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xczl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 424w, https://substackcdn.com/image/fetch/$s_!xczl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 848w, https://substackcdn.com/image/fetch/$s_!xczl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 1272w, https://substackcdn.com/image/fetch/$s_!xczl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e19118-9dda-4e50-a6c0-a03132e7173b_1658x312.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">200+ registrations for an in-person Build Your Own LLM workshops in May 2026</figcaption></figure></div><h2>Video Links </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=vXiB0UdDhk8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!22mm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!22mm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!22mm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!22mm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!22mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1906467,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=vXiB0UdDhk8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!22mm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!22mm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!22mm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!22mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7844ff7-7808-46c6-925e-71b79d95e491_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>1. <a href="https://www.youtube.com/watch?v=vXiB0UdDhk8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Sampling</a></strong><a href="https://www.youtube.com/watch?v=vXiB0UdDhk8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> Large Language Models</a>: Temperature, TopP, TopK</figcaption></figure></div><p>Our first section focuses on sampling LLM token predictions. We have to sample tokens to avoid waiting until the heat-death of the universe to compose a short ideal paragraph. Sampling techniques like temperature, TopP and TopK are then used as a shortcut.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=E0rkgxwhz5g&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EI6R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EI6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2068871,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=E0rkgxwhz5g&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EI6R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EI6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19b46ec-1d5e-4e42-9600-fa4b96b31e9a_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>2. <a href="https://www.youtube.com/watch?v=E0rkgxwhz5g&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Reverse Engineering</a></strong><a href="https://www.youtube.com/watch?v=E0rkgxwhz5g&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> Large Language Model</a></figcaption></figure></div><p>At this point of the workshop, we don&#8217;t really know how to build an LLM. So as the enterprising engineers we are, we&#8217;ll reverse engineer a classic LLM (GPT-2 small), list out its parts, and create a roadmap to learn about each of those. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=uaA8ChGcMwE&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uVBb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uVBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2079344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=uaA8ChGcMwE&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uVBb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!uVBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7afd53e3-87a3-405f-95fd-2dd9457081ad_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>3. <a href="https://www.youtube.com/watch?v=uaA8ChGcMwE&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Perceptrons:</a></strong><a href="https://www.youtube.com/watch?v=uaA8ChGcMwE&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> wx+b</a></figcaption></figure></div><p>ChatGPT is just 100B+ perceptrons. Or said in reverse: a perceptron is the basic unit of work of a neural net. The math formula is straightforward: <em>weight * input + bias. </em>In this section we luxuriate in that simple formula, seeing it in code, in excel demos, and in physical analog demos. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=G5gkYVB-P-Q&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qd2A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qd2A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2742924,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=G5gkYVB-P-Q&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!qd2A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!qd2A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eb71c11-868d-4f98-99cb-788c76e03343_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>4. <a href="https://www.youtube.com/watch?v=G5gkYVB-P-Q&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Activation Functions:</a></strong><a href="https://www.youtube.com/watch?v=G5gkYVB-P-Q&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> ReLU, GELU, SwiGLU</a></figcaption></figure></div><p>Perceptrons alone can&#8217;t easily detect edges (like the ending of sentences), understand non-linear values (like -5 and 5 being the same magnitude), or build some logical structures. Activation Functions solve that gap by introducing non-linearity into neural nets.  Our key takeaway from this section is the ReLU^2 activation function which will be the first component of our LLM.  </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=VVk6N1_rFD0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SkPQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SkPQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2205963,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=VVk6N1_rFD0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SkPQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!SkPQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370b16d-8bcd-46e0-9003-5592bea4422a_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>5. <a href="https://www.youtube.com/watch?v=VVk6N1_rFD0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">GPU Coding:</a></strong><a href="https://www.youtube.com/watch?v=VVk6N1_rFD0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> PyTorch, torch.compile(), fused kernels, CUDA, Triton</a></figcaption></figure></div><p>CPUs have 8 physical cores that can run in parallel. So if all we&#8217;re computing is 8 neurons, those are great. But when we have 32M perceptrons to compute in parallel, they just can&#8217;t match up with the 15,000 parallel compute core GPUs have. In this section we learn about GPU coding starting from CPU, PyTorch modules, torch.compile() fused kernels, CUDA, and Triton. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=6BU9Gj2yoSw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jqXZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jqXZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3333e227-d526-462e-9b85-59c26361e70a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2491055,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=6BU9Gj2yoSw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jqXZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!jqXZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333e227-d526-462e-9b85-59c26361e70a_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>6. <a href="https://www.youtube.com/watch?v=6BU9Gj2yoSw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">MLPs/FFNs</a></strong><a href="https://www.youtube.com/watch?v=6BU9Gj2yoSw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Multi-input, Multi-Layer Perceptrons, Feed-Forward Networks</a></figcaption></figure></div><p>A single perceptron can only learn one really single rule. To learn language, we need complexity. Which means we&#8217;ll need multiple perceptrons grouped together in Layers. And then finally we&#8217;ll sequence those layers into a multi-layered perceptron (MLP). This section gives us another component for our final LLM: a growing-shrinking MLP. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=bVz8i9EWEQw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1CzX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1CzX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07679cca-cca7-4870-9565-935667ca851c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2327711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=bVz8i9EWEQw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1CzX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!1CzX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07679cca-cca7-4870-9565-935667ca851c_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>7. <a href="https://www.youtube.com/watch?v=bVz8i9EWEQw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Loss Functions</a></strong><a href="https://www.youtube.com/watch?v=bVz8i9EWEQw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Residual errors, RMSE, Cross Entropy, Loss Landscapes</a></figcaption></figure></div><p>If our goal is to teach LLMs the english language, we need to know how far away from that goal we are with our randomly-initialized LLMs spewing gibberish. Loss functions allow us to quantify the distance from that goal. During this section we learn about the theory of traversing loss landscape to minimize loss (i.e. improve english skills in LLMs). We also learn about how Cross-Entropy loss function works in problems without a definitive answer, like next word prediction. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=Zf6RC6KZxKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gPRp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gPRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2000834,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=Zf6RC6KZxKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!gPRp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gPRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ec29e6-1f5f-4238-93a8-d3e894276de8_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>8. <a href="https://www.youtube.com/watch?v=Zf6RC6KZxKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Backpropagation</a></strong><a href="https://www.youtube.com/watch?v=Zf6RC6KZxKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Training loops, Optimizers, Learning Rate, Batch Size</a></figcaption></figure></div><p>Before we can train a model on the english language, we&#8217;ll learn how to train it on predicting <em>A+B%5</em>. At first, this toy example seems trivial. The same manifolds created inside deep neural networks to divide by five, are how LLMs learn any sequential concept like days, months, colours, and word counting. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=riCiHjVEqXc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSsc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSsc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1773918,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=riCiHjVEqXc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WSsc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!WSsc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60528d8d-fa85-4346-afc7-0c69e9a99425_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>9. <a href="https://www.youtube.com/watch?v=riCiHjVEqXc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Saving &amp; Loading</a></strong><a href="https://www.youtube.com/watch?v=riCiHjVEqXc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> Models</a></figcaption></figure></div><p>Now that we&#8217;ve successfully trained our first DNN, it&#8217;s time to save it to disk, upload it to Hugging Face and load it remotely. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=-pwr0RMhCg8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6SdF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6SdF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1896331,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=-pwr0RMhCg8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6SdF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!6SdF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a8a0d1-6060-4f84-a9df-4e1931f9738b_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>10. <a href="https://www.youtube.com/watch?v=-pwr0RMhCg8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Initialization</a></strong><a href="https://www.youtube.com/watch?v=-pwr0RMhCg8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Kaiming, Glorot</a></figcaption></figure></div><p>GPT2-small has 72 consecutive matrix multiplications, but activation functions tend to add zeros and small values. What happens when we multiply a bunch of zeros? we get more zeros. Training collapses. GPU time is wasted. People get fired. Recessions start. To avoid that, we learn that choosing a specific statistical distribution for our randomly-initialized values can prevent gradient collapse. Yay! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=e5V7QaHq5lQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1911052,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=e5V7QaHq5lQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Z-Y3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab54380-c087-4a9b-b713-b99a32f7692a_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>11. <a href="https://www.youtube.com/watch?v=e5V7QaHq5lQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Residuals</a></strong><a href="https://www.youtube.com/watch?v=e5V7QaHq5lQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Addition, Scaling, Gated, Concatenation</a></figcaption></figure></div><p>But in order to avoid training collapse over 72 consecutive matrix multiplications, we really need another trick up our sleeve: Residuals. Combining outputs from the previous layers with the outputs of this layer, allowing each layer to work independently for a bit. It&#8217;s like giving the DNN multiple scratchpads. The formula is straightforward: <em>f(x)+x </em>and we&#8217;ll see it play out in excel and in code. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=ZqSbev8Y-ys&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jWcI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jWcI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2234130,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=ZqSbev8Y-ys&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!jWcI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!jWcI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4466ed4-0fbf-44e5-985f-f2b833b83999_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>12. <a href="https://www.youtube.com/watch?v=ZqSbev8Y-ys&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Normalization</a></strong><a href="https://www.youtube.com/watch?v=ZqSbev8Y-ys&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Pre-norm vs. Post-norm, RMSNorm, BatchNorm, LayerNorm</a></figcaption></figure></div><p>Residuals introduced a new problem since <em>f(x)+x</em> can lead to gradient explosion. Intuitively, we can see that <em>f(x)+x&gt;x </em>increases X at every turn, which is how we get a gradient explosion. So we bring in normalization to make sure the values stay clustered around a central point.   </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=2O8v8BX1LgM&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nCEk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nCEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2038124,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=2O8v8BX1LgM&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!nCEk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!nCEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f84879-d418-4c5f-af4b-bed98204b1f3_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>13. <a href="https://www.youtube.com/watch?v=2O8v8BX1LgM&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Regularization</a></strong><a href="https://www.youtube.com/watch?v=2O8v8BX1LgM&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Dropout, Gradient Clipping, Weight Decay</a></figcaption></figure></div><p>So far our DNN only worked on deterministic data with clear answers (e.g., <em>A*B%C </em>has clear answers), but language doesn&#8217;t have definitive answers. We can complete the sentence &#8220;<em>The capital of France is&#8221; </em>with &#8220;<em>Paris</em>&#8221;, &#8220;<em>full of cheese</em>&#8221;, or &#8220;<em>has a metro strike</em>&#8221; all factually correct. Once we introduce data without a definitive solution, the model will overfit on the training data. i.e., it&#8217;ll perform better on train data than it can generalize on unseen test data. That&#8217;s a problem. Regularization techniques like dropout, gradient clipping, and weight decay can be used to make sure our DNN doesn&#8217;t overfit on training data. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=H2yV3jd4DKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iQS4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iQS4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2056011,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=H2yV3jd4DKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iQS4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iQS4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8863bb0d-57b9-45b3-81eb-d6aaae771c07_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>14. <a href="https://www.youtube.com/watch?v=H2yV3jd4DKg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">SoftMax</a></strong></figcaption></figure></div><p>Ultimately, LLMs have to return percentage probability for the next words like saying &#8220;Paris&#8221; is 100% likely. But DNNs / LLMs operate by doing fun matrix multiplication with real numbers, like 1.234567. SoftMax converts those activation values into percentages. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=TPPhTqPu_Yg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!or5f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!or5f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!or5f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!or5f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!or5f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1876596,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=TPPhTqPu_Yg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!or5f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!or5f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!or5f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!or5f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04c98b16-c61e-4b63-8c54-dc5124c04fa2_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>15. <a href="https://www.youtube.com/watch?v=TPPhTqPu_Yg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Tokenizers</a></strong><a href="https://www.youtube.com/watch?v=TPPhTqPu_Yg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: By Character, By Word, BPE, SentencePiece</a></figcaption></figure></div><p>LLMs operate on fun matrix multiplication with numbers, but language operates on strings. Tokenizers are our way of putting a square peg into a round hole by shaving off the edges. We&#8217;ll convert words, subwords components, punctuation marks and emojis into integer tokens. But then we have to decide how to best tokenize? Should each character be a token? should each word be a token? Or is there a compromise there? Ultimately, we settle on the BPE compromise tokenizer. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=jyrgYjeVHBo&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zemy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!zemy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!zemy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!zemy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zemy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2778314,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=jyrgYjeVHBo&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zemy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!zemy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!zemy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!zemy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56167cb4-9e99-4492-9cf2-a83da10c08ca_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>16. <a href="https://www.youtube.com/watch?v=jyrgYjeVHBo&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Embeddings</a></strong><a href="https://www.youtube.com/watch?v=jyrgYjeVHBo&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Absolute vs. Learned, Sinusoidal vs. RoPE</a></figcaption></figure></div><p>Once we&#8217;ve converted &#8220;<em>Hello</em>&#8221; to 995, what does the LLM know about 995? Token Embeddings represent learnable meanings in high-dimensional space for each token. We see the example of how in high-dimensional embedding space, <em>woman</em> and <em>queen</em> exist in the same distance &amp; direction as <em>man</em> and <em>king</em>. These embeddings learn what each word/subword/token means. But those embeddings still lack positional information which makes &#8220;<em>dog bites man&#8221; </em>and &#8220;<em>man bites dog</em>&#8221; equivalent. So we&#8217;ll learn about positional encoding and how to add positional information to each token embedding.  </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BRAN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BRAN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2161277,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BRAN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!BRAN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd610f171-e608-4ede-b5fd-b42d7626204f_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>17. <a href="https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Attention</a></strong><a href="https://www.youtube.com/watch?v=CvGf-Eu2sl0&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: MHA, GQA, MQA, MLA</a></figcaption></figure></div><p>Attention is how LLMs &#8220;read&#8221; sentences. First they read sentence fragments, understand word positions, then they identify subjects &amp; verbs, read question words and understand transformations. It&#8217;s prohibitive to teach LLMs each one of those concepts. But Attention just learns that through the power of math and backpropagation. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=mKAW7cYYwQs&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wQ6f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wQ6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1963437,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=mKAW7cYYwQs&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wQ6f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!wQ6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3660649f-a12d-48f6-8a46-d2a4fdb75ea2_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>18. <a href="https://www.youtube.com/watch?v=mKAW7cYYwQs&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Transformers</a></strong></figcaption></figure></div><p>Bringing it all together we build a Transformer architecture with MLPs, Attention Heads, Embeddings, Activation Functions,  Regularization, Normalization, Residuals and everything else we learned about so far.  This section is my favourite because it really shows how transformers work end-to-end.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=nN335-483Pg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qc4o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qc4o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2417503,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=nN335-483Pg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Qc4o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Qc4o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c1f338-895e-488b-bec0-8ed153e20c67_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>19. <a href="https://www.youtube.com/watch?v=nN335-483Pg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Pre-training</a></strong><a href="https://www.youtube.com/watch?v=nN335-483Pg&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Data Sources, Datasets, HTML Cleaning, Quality Filtering, Sharding</a></figcaption></figure></div><p>Moving on from architecture to actual training, we need to first teach our LLMs the english language. We do that by taking textual information from the web, from books, from social media, code and other data sources. But extracting text from the internet isn&#8217;t straightforward. Do we prefer more lower quality text? Or less higher quality text? In this section we build our pretraining script and let it run for hours to train our model in the english language. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=S6uLzsqOOUc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oFhE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oFhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1998486,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=S6uLzsqOOUc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oFhE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!oFhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c276fa6-27cd-4d65-83b4-268f9c9a50ff_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>20. <a href="https://www.youtube.com/watch?v=S6uLzsqOOUc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Evaluation</a></strong><a href="https://www.youtube.com/watch?v=S6uLzsqOOUc&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">: Leaderboards, Benchmarks, Verifiers vs LLM-as-Judge</a></figcaption></figure></div><p>How do we know if our models are any good? Should we use leaderboards? Should we have another LLM act as a judge? Good at what? In this section we review the full options of how LLMs are evaluated, and on what LLMs can be evaluated on. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=8iwxM6XRpVQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_JFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_JFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2076570,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=8iwxM6XRpVQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_JFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!_JFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419b2dfc-19c9-4901-920e-f8a038164441_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>21. <a href="https://www.youtube.com/watch?v=8iwxM6XRpVQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Instruction Tuning:</a></strong><a href="https://www.youtube.com/watch?v=8iwxM6XRpVQ&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> Alpaca &amp; Other Formats, Self Instruct, Capabilities</a></figcaption></figure></div><p>After our LLM learns to speak english, it&#8217;s still pretty bad at following instructions. We can tell it to<em> </em>answer &#8220;<em>What is the capital of France?</em>&#8221; and it&#8217;ll just answer &#8220;<em>The capital of France is France.</em>&#8221; because it doesn&#8217;t yet understand it&#8217;s supposed to be a helpful AI assistant. Using Instruction fine-tuning we teach our LLM to write poems, generate lists, explain concepts and more. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=3DJGUp0CVx8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f5SQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f5SQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2205438,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=3DJGUp0CVx8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f5SQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!f5SQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa46e6c-67e9-44cf-9e0f-3649e3b7582e_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>22. <a href="https://www.youtube.com/watch?v=3DJGUp0CVx8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">Reinforcement Learning:</a></strong><a href="https://www.youtube.com/watch?v=3DJGUp0CVx8&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6"> Policy Optimization, SimPO</a></figcaption></figure></div><p>Finally, we want our LLMs to be good at things. We want them to know all the knowledge, to correctly solve all the math, and to write the perfect code. RL is our tool to evaluate entire responses, and backpropagate both negative and positive signals. In this section we implement the simples RL offline preference optimization algorithm from scratch: SimPO. First in excel, and then in code. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.youtube.com/watch?v=YdOsmHDeeLw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KDEB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KDEB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2120776,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.youtube.com/watch?v=YdOsmHDeeLw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/203136849?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!KDEB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!KDEB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20dc4a5b-64f7-4a02-8bf6-92e7e692413c_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">23. <a href="https://www.youtube.com/watch?v=YdOsmHDeeLw&amp;list=PLweJS2YZCfkeXXdfCKGaxAhm2w8p0u1z6">What We Didn&#8217;t Cover: Scaling</a></figcaption></figure></div><p>We couldn&#8217;t cover the entirety of building frontier LLMs, but we can give you trailheads to what we didn&#8217;t cover: scaling training time to multiple GPUs, optimizing GPU usage at inference time, and making LLMs safe to use.</p><p></p><h1 style="text-align: center;"> [<a href="https://go.JustinAngel.ai/video-1">Start Watching: Build Your Own LLM </a>]</h1><p style="text-align: center;"><strong>[<a href="https://go.JustinAngel.ai/deck">Read the slides</a>]   [<a href="https://go.JustinAngel.ai/drive">Do the Exercises]</a></strong> </p><div id="youtube2-vXiB0UdDhk8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vXiB0UdDhk8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vXiB0UdDhk8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.justinangel.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.justinangel.ai/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How I got my Bachelor’s and Master’s in AI in five months and $10k]]></title><description><![CDATA[Fast, cheap, and good computer science undergraduate and graduate degrees in AI/ML.]]></description><link>https://www.justinangel.ai/p/bachelors-and-masters-in-5months-10k</link><guid isPermaLink="false">https://www.justinangel.ai/p/bachelors-and-masters-in-5months-10k</guid><dc:creator><![CDATA[Justin Angel]]></dc:creator><pubDate>Wed, 04 Mar 2026 18:12:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f50559ad-beb0-4b03-8a67-26b6b4386e0e_2856x1542.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-rIN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-rIN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-rIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg" width="1071" height="1071" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1071,&quot;width&quot;:1071,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:416758,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-rIN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-rIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b1af62-443a-454e-aaa2-cb8d82e5f73b_1071x1071.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Master&#8217;s degree in Computer Science AI/ML from WGU; Undergraduate in CompSci from TESU</figcaption></figure></div><p>Twenty years ago I dropped out of college to start my own business. In 2025, I enrolled and completed both an undergraduate and master&#8217;s degree in computer science as an intellectual pursuit. It took less than five months and cost approximately $10k by speedrunning accumulating credits. I&#8217;m pretty established in my career (e.g., L8/principal engineer in FANG), so this wasn&#8217;t about career advancement.  It was about enjoying shifting my attention towards AI/ML.</p><p>And there was lots of enjoyment in this process. The structure provided by the programs with their clear-cut expectations led to satisfaction and up-leveled my skills. I remember happily wandering the green fields of the Capodimonte in Napoli eating a pizza while listening to audio lectures on American history thinking &#8220;it doesn&#8217;t get better than this&#8221;. Completing courses in a single day ticked a lot of my emotional-validation boxes. And these new technical skills I gained in machine learning turned out to be tremendously useful. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CPvx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CPvx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 424w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 848w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CPvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3814388,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!CPvx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 424w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 848w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!CPvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6597e8ba-e877-4e6e-a27a-fb94a873fc34_2313x1200.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Listening to an audio course about history by Sophia with a view of Napoli&#8217;s bay</figcaption></figure></div><p>This post is a how-to guide to those readers interested in replicating my process. Once reading about specific undergraduate credit sources becomes overwhelming for you, just scroll down to the master&#8217;s degree section. </p><h1><strong>Undergraduate: TESU and online courses</strong></h1><p>The TESU (Thomas Edison State University in New Jersey) degree programs are ideal for adult-learners who both have extensive prior knowledge and acquired learning-as-a-skill. I chose an undergraduate major in computer science, since that&#8217;s my area of expertise. My undergraduate degree is primarily cobbled together from online coursework and exams that were then post hoc recognized and included in the degree. This post will explore the mind-numbing technical minutiae of various credit sources.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VfZu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VfZu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 424w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 848w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 1272w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VfZu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png" width="1444" height="1204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1204,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164010,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VfZu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 424w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 848w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 1272w, https://substackcdn.com/image/fetch/$s_!VfZu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0529cc55-fed7-4738-b86f-4d3a7ef9fc25_1444x1204.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Credit sources and cost breakdown for both degrees totaling at ~$10,080. An astute reader can infer per-credit costs.</figcaption></figure></div><h2><strong>Why have multiple credits sources?</strong></h2><p>My  #1 priority was speedrunning this undergrad, as time is my one non-renewable resource. TESU is great for that. TESU degrees can be accelerated by having external companies evaluate existing knowledge for credit equivalency. However, each credit provider has its own time horizon and cost. As such, TESU students mix and match credit sources based on their preferred learning style, cost, and/or speed. Ultimately, I optimized for speed. </p><p>TESU accepts credits from multiple sources, such as TESU coursework, credit-by-exam, online courses, and prior learning from other institutions. Courses at TESU take 3 months and cost ~$500 per-credit, whereas a Sophia online course can be completed in a few days for ~$10 per-credit. Big difference. Upon completion, providers send official transcripts to TESU for evaluation and recognition. As a concrete example, TESU requires undergrads to demonstrate college-level writing proficiency. I took an online CLEP &#8220;college composition&#8221; exam for ~$90 and had 6 credits recognized within a week (~$15 per-credit). Effectively, TESU collaborates with external credit providers to validate their degree  requirements are met. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ap23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ap23!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 424w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 848w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ap23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png" width="1024" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1827912,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0125de72-9b48-4339-b56d-140515fe1741_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ap23!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 424w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 848w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Ap23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51135940-22a3-40a4-8126-fa60b0c3e0f7_1024x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">TESU credit sources: credit-by-exam, online MOOCs, courses at TESU and other colleges. (AI generated illustration)</figcaption></figure></div><p>TESU online courses take about 3 months to complete, or you can test out of those immediately if you already have that knowledge. <strong>In the interest of expediency, I favored demonstrating knowledge over undertaking performative education.</strong> I found it much faster to knock out several course requirements each week based on knowledge I previously possessed. I owe this degree to the flexibility of not having to kabuki-theater my way through the higher-education system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!clSF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!clSF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!clSF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!clSF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!clSF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!clSF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8869957,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!clSF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!clSF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!clSF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!clSF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4bddca-6bcc-471f-89fc-4d4cbddddd88_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI-generated image: for me, a traditional computer science education would have been a kabuki theater. That&#8217;s not a good fit.</figcaption></figure></div><p>The TESU bachelor of arts in computer science degree requires 120 credits with a very specific breakdown. You can&#8217;t just collect 120 CompSci-related credits and call it a degree. Rather, credits must be equivalent to specific courses or applied to specific niche categories. For example, the degree requires Calculus 1 or an equivalent course, which I completed online with Sophia over three days. For category  requirements, 15 credits must be &#8220;upper-level&#8221;/advanced credits which I predominantly completed with StudyDotCom and Saylor. Only 30 credits are free electives that don&#8217;t need to correlate to specific courses or categories. I assigned most of these electives towards math and CompSci, but I could&#8217;ve chosen music theory or culinary history.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wHHY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wHHY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 424w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 848w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 1272w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wHHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png" width="1456" height="654" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:654,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:737375,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wHHY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 424w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 848w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 1272w, https://substackcdn.com/image/fetch/$s_!wHHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790dde45-5d65-4e6e-86df-fae9cdcb89ba_1630x732.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Credit distribution of 120ish credits, broken down by provider and category. Online courses were my leading credit source.</figcaption></figure></div><h4><strong>Credit source #1: Credit-by-exam</strong> </h4><p><strong>Credit-by-exam</strong> providers such as CLEP, DSST and TECEP allow you to take remote-proctored exams and earn credits the same day. These are primarily designed for armed forces service members and high school students, but they provided me a straightforward way to complete 21 of the 120 required credits. Exams ranged from nutrition and world religions, to ethics and writing. To me as a well-read adult, these exams required more courage than preparation. For each exam, I bought $20 worth of preparation materials, had ChatGPT/Claude summarize those, and read through the bullet points prior to the tests. These summaries allowed me to brush up on college-level material I was already familiar with.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1OAd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1OAd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 424w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 848w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 1272w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1OAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png" width="1456" height="719" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:719,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:637781,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1OAd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 424w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 848w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 1272w, https://substackcdn.com/image/fetch/$s_!1OAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0faf39-64b5-4c9c-9799-c729cfd664c3_2504x1237.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Proof-of-work: transcripts of credit-by-exam from CLEP, DSST and Saylor </figcaption></figure></div><p>The possibility of failing an exam and the over-formality of the proctored tests led me to deprioritize this format. It just isn&#8217;t fun to sit on camera answering questions as someone periodically demands you empty your pockets. Pursuing credits through online courses was more enjoyable, less emotionally taxing, and much more affordable.</p><h4>Credit source #2: Online courses </h4><p><strong>Online courses</strong> accredited by ACE &amp; NCCRS<strong> </strong>accounted for 50 of my 120 credits. I took 29 credits with Sophia.org, 15 with Study.com, and 6 with Saylor.com. Courses on Sophia have non-proctored final exams with mixed assignment formats including essay writing, coding projects, multiple-choice questions, and video recordings. Sophia courses included math (e.g., Calculus 1), programming (e.g., Java), humanities (e.g., public speaking), and science (e.g., nutrition). StudyDotCom online courses  focused on upper-level coursework in computer science (databases, operating systems, architecture, etc) through multiple-choice quizzes and essays. Additionally, I took six credits with Saylor online courses and they only required proctored multiple-choice questions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xq5j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xq5j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xq5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png" width="728" height="264.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:529,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:754950,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xq5j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Xq5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ddc11e4-1683-4575-86c7-4254063dbe69_2200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Proof-of-work: completed general education courses on Sophia, and upper-level computer science on StudyDotCom</figcaption></figure></div><p>Online courses were by far the most enjoyable part of the degree. Self-paced learning across myriad fields delivered contentment &amp; dopamine, bridged knowledge gaps, and felt emotionally supportive. Since both Sophia and Study allow retries, I experienced less anxiety and perfectionism and just did stuff. Some tricky assignments actually took multiple attempts to get to a perfect score. For example, developing a functioning circuit design for an ALU (Arithmetic Logic Unit, part of a CPU) took several attempts to complete StudyDotCom&#8217;s course requirements to prove it&#8217;s doing binary math correctly. What could&#8217;ve been a stressful experience, ended up instead as both enjoyable and educational.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Id5Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Id5Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 424w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 848w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Id5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png" width="1400" height="1104" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1104,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:353035,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Id5Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 424w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 848w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!Id5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38cfe4c0-f570-4f49-a2e0-a4877af89b1f_1400x1104.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Above: ALU circuit design successfully adding two binaries: 10+01=11. Below: grading rubric by StudyDotCom evaluator. On the inside: &#8220;Pride. I can design circuits&#8221;.</figcaption></figure></div><h4>Credit source #3: Language Proficiency exam </h4><p>NYU&#8217;s<strong> Language Proficiency</strong> <strong>exam</strong> translated my multilingual fluency into 16 credits towards a TESU degree. Pun intended. The exam required everyday C2-level language fluency in Spanish across reading, speaking, listening, and writing. That exam itself was genuinely challenging and tested what a native speaker living in a Spanish-speaking country would do day-to-day. Results took several days with most credits ending up in the elective categories for me.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rvic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rvic!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 424w, https://substackcdn.com/image/fetch/$s_!rvic!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 848w, https://substackcdn.com/image/fetch/$s_!rvic!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!rvic!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rvic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png" width="728" height="613.3084112149533" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1262,&quot;width&quot;:1498,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:312415,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfebfa5-3e7f-49de-9fd5-1a771bddb794_1498x1262.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rvic!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 424w, https://substackcdn.com/image/fetch/$s_!rvic!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 848w, https://substackcdn.com/image/fetch/$s_!rvic!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!rvic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F816040c6-ee3c-43cf-9ae1-aac587abf31a_1498x1262.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Proof-of-work: NYU Language Proficiency letter recognizing 16 credits in Spanish. Or as we say in Espa&#241;a: &#8220;pan comido&#8220;.</figcaption></figure></div><p>In a sense, this is a good example of how credit-by-exam serves an adult-learning population. Instead of the theatrics of sitting through Spanish classes, shouldn&#8217;t learners be allowed to demonstrate sufficient competency?</p><h4><strong>Credit source #4: Transfer Credits</strong></h4><p><strong>Transferred credits</strong> from a foreign university accounted for 44.5 credits. As mentioned earlier, I dropped out of college in 2006 with 50 credits. SpanTran evaluated those credits with a 6:5 ratio (unclear why that ratio was applied). Those credits  partially satisfied specific course requirements in computer science such as discrete math, linear algebra and data structures. I chose SpanTran to perform this evaluation because they directly contacted the foreign university and got the transcripts without my help.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1qjG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1qjG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 424w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 848w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 1272w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1qjG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png" width="1456" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1686299,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1qjG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 424w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 848w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 1272w, https://substackcdn.com/image/fetch/$s_!1qjG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d52eb77-e4e9-4063-8e9e-6f20ab7204b2_1960x1207.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">SpanTran evaluation with 44.5 transfer credits. I&#8217;m so old I studied Pascal unironically. WHAT YEAR IS THIS?</figcaption></figure></div><p>An important caveat: TESU <a href="https://www.tesu.edu/student-resources/transfer-credits/index.php">requires</a> that at least 30 credits be taken at TESU or transferred from another school. My transfer credits from twenty years ago covered that requirement. Though for those considering a similar path without prior credits, a common option is to start a WGU CompSci undergrad and then transfer those credits to TESU. Alex Sheppe covers the intricacies and limitations of this path <a href="https://www.youtube.com/watch?v=c4jYJk-jIO8">in this video</a>.</p><h3><strong>Credit source #5:</strong> <strong>TESU coursework</strong></h3><p><strong>TESU coursework </strong>accounted<strong> </strong>for six credits. TESU requires that two courses be completed with them: a capstone thesis-writing course and a cornerstone media literacy course.<strong> </strong>Both courses involve weekly coursework including readings, graded essays, discussion forum participation, multiple-choice quizzes, and more. Since those courses take 3 months to complete start-to-finish, they&#8217;re the slowest part of getting the undergraduate. Under certain conditions it&#8217;s possible to parallelize these courses, which I did. </p><p>I took my thesis writing course quite seriously, read 200 academic papers and wrote a 112-page undergraduate thesis on AI-driven psychotherapy. Since <a href="https://osf.io/preprints/psyarxiv/4tmde_v1">publishing it</a> I&#8217;ve received positive feedback and it&#8217;s painstakingly slowly going through academic publishing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y7p_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y7p_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 424w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 848w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 1272w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y7p_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png" width="1366" height="1577" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1577,&quot;width&quot;:1366,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:243102,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y7p_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 424w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 848w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 1272w, https://substackcdn.com/image/fetch/$s_!y7p_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d2ca19-2152-4dfe-bf81-9b47c2ef6277_1366x1577.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Title page of my undergraduate thesis: &#8220;<a href="https://osf.io/preprints/psyarxiv/4tmde_v1">Can we build an AI psychotherapist?</a>&#8221;. 1-word answer: Yes.</figcaption></figure></div><h2><strong>Was this undergrad worth it?</strong></h2><p>Yeah, but for unexpected reasons beyond being a prerequisite for a graduate-level education or career advancement. I found real joy in having structure that encouraged me to focus on topics I normally wouldn&#8217;t, like history, psychology, and civics. I enjoyed the slightly subversive element of cranking out an undergraduate degree in three months instead of four years. And I got satisfaction seeing myself earn 3 credits (or 1/40th of an undergraduate) in a single day or two. Spending a few hours in the evenings doing coursework in quaint Italian coffee shops provided grounding in an otherwise turbulent year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LzP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LzP9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 424w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 848w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 1272w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LzP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png" width="600" height="931" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:931,&quot;width&quot;:600,&quot;resizeWidth&quot;:600,&quot;bytes&quot;:1060392,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LzP9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 424w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 848w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 1272w, https://substackcdn.com/image/fetch/$s_!LzP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b62a7ab-038b-4382-9dd5-beb767ae8eb7_600x931.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This bookstore in Napoli has the best co-working space for doing online courses. </figcaption></figure></div><h1>Master&#8217;s degree: WGU and Machine Learning</h1><p>AI chatbots will fundamentally shift the nature of knowledge work, including software engineering. Any software engineer who doesn&#8217;t have an intrinsic grasp of AI risk becoming unemployable. Red flags went up when <a href="https://github.com/afshinea/stanford-cme-295-transformers-large-language-models">an LLM architecture intro</a> read like hieroglyphic gibberish to me. Was I headed to career obsolescence without in-depth AI/ML knowledge? That anxiety grew within me when I couldn&#8217;t scroll twitter without failing to understand the importance of the latest round of AI/LLM research. If you can&#8217;t beat the AI hype cycle, you join it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7mj9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7mj9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7mj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1091995,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7mj9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7mj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f36f8e5-57a2-487b-b956-a0650ebe70f6_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Deciding to pursue an AI/ML graduate degree at the top of the AI hype cycle. Surely I won&#8217;t regret this decision. (AI generated image)</figcaption></figure></div><p>For my graduate degree, I specialized in AI/ML (artificial intelligence and machine learning) pursuing an MS in computer science at WGU (Western Governors University in Utah). Progression at WGU is based on demonstrating competency through successfully completing industry-level projects. The deliverables are aligned with my expectations of a senior software engineer in terms of both coding and technical documentation. Since I lacked that knowledge in ML, I first spent a month learning the fundamentals. After that, I spent a month completing projects and essays for the degree.</p><h2><strong>Step #1: Learn ML, AI and data science engineering</strong>.</h2><p>Based on <a href="https://www.youtube.com/watch?v=OOO_x3Oh2nE">advice from Marina</a>, I tried DataCamp, which ended up being perfect for my hands-on learning style. DataCamp courses teach new concepts through writing code. I started by learning the basics of python and data engineering (numpy, matplot/SNS, and Pandas). Then I moved into foundational ML concepts around supervised, unsupervised and deep-learning. And finally, I tackled specialized topics like NLP, RL, MLOps, statistics, and FinTech.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YoXB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YoXB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 424w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 848w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 1272w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YoXB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png" width="1456" height="633" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:633,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:280476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YoXB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 424w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 848w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 1272w, https://substackcdn.com/image/fetch/$s_!YoXB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f436e4-7afe-4d51-a3d5-279cf72e53f5_2094x911.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Proof-of-work: List of DataCamp courses I&#8217;ve completed. Fun fact: WGU tuition includes a DataCamp subscription which I only found out about after paying for it myself. Fun for you, not for me I guess.</figcaption></figure></div><p>I nailed down a process that allowed me to finish a few courses every day by having ChatGPT convert DataCamp courses to educational and interactive projects. A DataCamp course includes approximately 20 videos on interlinked topics followed by coding exercises. Watching videos is a bit too slow for my pace as I learn best from technical documentation.  Each DataCamp course also offers downloadable PDFs capturing the concepts, slides and code relevant to that course. To accelerate that process, I feed the course PDFs to ChatGPT, have it generate a Google Colab notebook that teaches me concepts, watch videos whenever I&#8217;m fuzzy on concepts, and start coding. These projects really shine for me because they&#8217;re real code I can read, debug, and modify, which fits my learning style.  For those interested, here are the <a href="http://justinangel.net/files/datacamp-ipnybs.zip">generated Python notebooks</a> covering DataCamp topics.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X6na!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X6na!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!X6na!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!X6na!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!X6na!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X6na!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:867615,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X6na!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!X6na!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!X6na!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!X6na!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7502231e-85ee-4dde-aee6-6ed1e2e1bb97_2400x1400.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ChatGPT converting DataCamp PDF for <a href="https://campus.datacamp.com/courses/deep-reinforcement-learning-in-python/proximal-policy-optimization-and-drl-tips">RL PPO</a> course to a functional python notebook. Reading this code made me uncomfortable. Which is a good thing, since learning happens at the edge of comfort. </figcaption></figure></div><p>DataCamp is an effective teaching modality for applied AI/ML. WGU tuition actually includes complete unlimited access to DataCamp, Udemy and LinkedIn courses. Even better, WGU&#8217;s curriculum materials reference specific DataCamp courses, which made it straightforward to figure out the correct sequencing. </p><h2>Step #2: Complete non AI/ML  coursework</h2><p>Roughly half of WGU&#8217;s MS-AI program covers software engineering:  algorithms, architecture, scripting, coding, programming languages, and methodologies. My guess is that a 22-year-old graduate student would find these courses challenging and time-consuming. Given my extensive background as a software engineer with twenty years&#8217; experience, that wasn&#8217;t especially challenging and I completed this portion in under a week. These were all non-trivial project assignments such as coding pathfinding algorithms, automating unix remote servers, and authoring corporate-level security documentation. These are all things I&#8217;ve done professionally during my career. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4vSa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4vSa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 424w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 848w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 1272w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4vSa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png" width="1456" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:365318,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4vSa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 424w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 848w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 1272w, https://substackcdn.com/image/fetch/$s_!4vSa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633e567b-7c69-469e-8b99-b246ffa5b11f_2570x1482.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Degree plan with completion dates: first non-AI/ML courses, followed by AI/ML courses. This is non-trivial, I just happen to have 20 years&#8217; experience doing this.</figcaption></figure></div><h2>Step #3: Complete AI/ML coursework  </h2><p>The more challenging half of the degree focused on AI, ML, NLP, RL, and DNN. I spent twelve hours daily coding up projects and writing graduate-level papers analyzing them. It&#8217;s a real joy to have someone care about my toy projects as I  mastered AI/ML. I was genuinely happy getting positive feedback from WGU graders on my critical analysis of a saliency map for my XGBoost-based facial sentiment analysis final project. This portion of the degree culminated with an AWS certification testing practical ML engineering and operations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UW-A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UW-A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 424w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 848w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 1272w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UW-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:599022,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UW-A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 424w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 848w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 1272w, https://substackcdn.com/image/fetch/$s_!UW-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495e521-21dc-4d38-a51c-30a7c1397563_1482x864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Master&#8217;s final project: heat-maps for emotion classification detection. They&#8217;re colloquially known as &#8220;Ghost Faces&#8221; because they haunt your dreams. </figcaption></figure></div><h2>Was this master&#8217;s worth it?</h2><p>Yes, and No. It&#8217;s nuanced. </p><p>Yes, because having WGU set up the goalposts created urgency that up-leveled my technical skillset. Ultimately, WGU&#8217;s graduate degree is focused on improving AI/ML engineering skills and it achieved that for me. It brought into sharp focus which parts of ML&#8217;s vast historical knowledge are must-haves. The degree curriculum separated the wheat from the chaff of ramping up on AI/ML fundamentals. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X3HE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X3HE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 424w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 848w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 1272w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X3HE!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3920705,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X3HE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 424w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 848w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 1272w, https://substackcdn.com/image/fetch/$s_!X3HE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0508ca4b-6057-445b-bd42-c29f97cedccf_2656x1018.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>No, because I&#8217;m ambivalent about whether this path makes sense for other software engineers. I could&#8217;ve just learned all those concepts, written all that code, and analyzed all those results without any structure or guidance. And if the tuition of a single semester at WGU is too much for you, you can probably do that. However, I&#8217;d  find it depressing to grind in isolation on a self-derived AI syllabus. Trusting an expert-led curriculum felt reassuring. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sNVf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sNVf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 424w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 848w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 1272w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sNVf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png" width="1536" height="625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48746733-cb26-43c0-bc97-508c0454e345_1536x625.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:625,&quot;width&quot;:1536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1630451,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09acdc70-e31a-4d24-a83f-edf73d61d1b6_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sNVf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 424w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 848w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 1272w, https://substackcdn.com/image/fetch/$s_!sNVf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48746733-cb26-43c0-bc97-508c0454e345_1536x625.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;I hate these filthy ambivalents&#8221; - Futurama meme </figcaption></figure></div><h1>How much did it all cost?</h1><ul><li><p>Graduate degree: ~$4,225</p><ul><li><p>WGU single semester tuition: $4,125</p></li><li><p>DataCamp subscription: $100 (<em>included with WGU tuition</em>)</p></li><li><p>Google Colab Pro: free 1/yr with EDU emails</p></li></ul></li><li><p>Undergraduate degree: ~$5,880.</p><ul><li><p>TESU tuition for two courses (6 credits) or a pack for 15 credits: $3,600</p></li><li><p>Graduation fee: $300</p></li><li><p>Sophia online courses (3 months, 29 credits): $99 x 3 = ~$300</p></li><li><p>Study online courses (2 months, 15 credits): $250 x 2 = $500</p></li><li><p>Saylor online courses (6 credits): $5 x 2 = $10</p></li><li><p>NYU credit-by-exam (language proficiency, 16 credits): $700</p></li><li><p>CLEP credit-by-exam (2 exams, 9 credits): $200 <em>(could be free through Modern States)</em></p></li><li><p>DSST credit-by-exam (3 exams, 9 credits): $300</p></li><li><p>TECEP credit-by-exam (1 exam, 3 credits): $150</p></li><li><p>Note: this doesn&#8217;t take into account TESU&#8217;s accelerate fee or potential optimizations around it. </p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j5Y1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j5Y1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 424w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 848w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 1272w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j5Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png" width="1456" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:677282,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.justinangel.ai/i/189422282?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j5Y1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 424w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 848w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 1272w, https://substackcdn.com/image/fetch/$s_!j5Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8590f52-b7f0-4a80-9724-8a37cc57fabd_1624x758.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pie chart and table summarizing costs: Most of the cost went to WGU &amp; TESU tuition</figcaption></figure></div><h1>What&#8217;s next?</h1><p>If you&#8217;re a software engineer considering your game plan in a world where code has no intrinsic value: go deep-dive into AI/ML. If you&#8217;re wondering if you need a degree: you probably don&#8217;t. For me, I found the structure and gamification of an expert-led curriculum grounding and supportive. </p><p>I had the immense privilege of pursuing an education without career pressure. I'm considering another master's from CU Boulder focused on AI/ML research (about 50% complete), or possibly coursework from Stanford or JHU on LLMs and mechanistic interpretability. Maybe I&#8217;ll undertake research and pursue publication. In the context of my life, following my passions has historically led to positive outcomes.</p><p><strong>Next month I&#8217;ll be hosting a free full day build-your-own-LLM workshop in San Francisco</strong>. Drop a comment if you&#8217;re interested in attending in-person or want to see me post a recording here. </p><p>&#8212; Justin</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/@justinangelai/note/p-189422282&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.com/@justinangelai/note/p-189422282"><span>Leave a comment</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.justinangel.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>