<?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[Indie ML]]></title><description><![CDATA[How to learn machine learning online, research outside of Academia, how to monetize your ML skill, and become a better ML practitioner. ]]></description><link>https://www.emilwallner.com</link><image><url>https://substackcdn.com/image/fetch/$s_!aZv8!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F61943b02-c7d0-4f9f-961b-0cd37808bd1b_400x400.png</url><title>Indie ML</title><link>https://www.emilwallner.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 06 May 2026 11:16:04 GMT</lastBuildDate><atom:link href="https://www.emilwallner.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Emil Wallner]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[emilwallner@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[emilwallner@substack.com]]></itunes:email><itunes:name><![CDATA[Emil Wallner]]></itunes:name></itunes:owner><itunes:author><![CDATA[Emil Wallner]]></itunes:author><googleplay:owner><![CDATA[emilwallner@substack.com]]></googleplay:owner><googleplay:email><![CDATA[emilwallner@substack.com]]></googleplay:email><googleplay:author><![CDATA[Emil Wallner]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[No ML Degree: How to Build an AI Portfolio]]></title><description><![CDATA[Think like an employer and stand out in the job market by: - Selecting the best resources to learn programming and machine learning skills - Identifying the types of projects that employers value most - Bringing unique ideas to the table - Developing habits that help you make progress on your projects - Creating a framework to evaluate and improve your projects - Finding and contacting companies that value real-world skills - Preparing for practical interviews]]></description><link>https://www.emilwallner.com/p/no-ml-degree-how-to-build-an-ai-portfolio-921</link><guid isPermaLink="false">https://www.emilwallner.com/p/no-ml-degree-how-to-build-an-ai-portfolio-921</guid><dc:creator><![CDATA[Emil Wallner]]></dc:creator><pubDate>Fri, 16 Aug 2024 21:07:35 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147827616/913701ea0d80e72ca899eb4bfdacb439.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Think like an employer and stand out in the job market by:</strong> - Selecting the best resources to learn programming and machine learning skills - Identifying the types of projects that employers value most - Bringing unique ideas to the table - Developing habits that help you make progress on your projects - Creating a framework to evaluate and improve your projects - Finding and contacting companies that value real-world skills - Preparing for practical interviews</p><p>This guide is for self-learners, but it's also crucial for degree holders looking to strengthen their resumes with portfolio projects.</p>]]></content:encoded></item><item><title><![CDATA[No ML Degree]]></title><description><![CDATA[How to Land Your First Machine Learning Job Without a Degree]]></description><link>https://www.emilwallner.com/p/no-ml-degree</link><guid isPermaLink="false">https://www.emilwallner.com/p/no-ml-degree</guid><dc:creator><![CDATA[Emil Wallner]]></dc:creator><pubDate>Tue, 24 May 2022 04:30:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gnnY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png" 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_!gnnY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gnnY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 424w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 848w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 1272w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gnnY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png" width="1319" height="981" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1319,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228476,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gnnY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 424w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 848w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.png 1272w, https://substackcdn.com/image/fetch/$s_!gnnY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a85e6f6-3a63-4e42-b738-00b07e03a335_1319x981.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><strong>&#127911; Audio Version</strong>: <a href="https://open.spotify.com/episode/75rRRq8j6OAGyBdwLMLNmC?si=xg5sBUdmSQ6QG3_EX0Wa8g">Listen on Spotify</a> or <a href="https://drive.google.com/file/d/1-YMLsWleoCh6TJLLQRiFmyCF9pLc84yU/view?usp=sharing">Download the Audio version here</a> (1 Hour)</p><p><strong>Autodidacts focus on practical skills that ML professionals use every day. Once they have a core skillset and a micro portfolio, they apply to niche job opportunities that suit their no-degree background. </strong></p><p>It&#8217;s all about momentum. </p><p>Self-learners often approach their careers in stages. First, they build a portfolio and get a foot in the door. Later, many make additional sprints to achieve career-specific goals. They either do them full-time, part-time, or through internal transitions and upskilling.</p><p>Here&#8217;s what those transitions can look like:</p><ul><li><p>Learning software engineering &#8594; A tech internship at a small company&nbsp;</p></li><li><p>Building an ML portfolio &#8594; An entry-level ML role at a small company</p></li><li><p>Part-time ML portfolio building &#8594; A junior ML role at a mid-sized company</p></li><li><p>FAANG/Unicorn company interview prep &#8594; ML engineer at a known tech company</p></li></ul><p>This guide is for self-learners looking for their first ML job. But it&#8217;s also valuable for recent graduates and ML practitioners who want to stay up-to-date as ML evolves.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.fr/No-ML-Degree-Machine-Learning-ebook/dp/B0B1XFF1F8&quot;,&quot;text&quot;:&quot;Buy this e-book on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.fr/No-ML-Degree-Machine-Learning-ebook/dp/B0B1XFF1F8"><span>Buy this e-book on Amazon</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://emilwallner.gumroad.com/l/no-ml-degree&quot;,&quot;text&quot;:&quot;Buy this e-book on Gumroad&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://emilwallner.gumroad.com/l/no-ml-degree"><span>Buy this e-book on Gumroad</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sZRR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sZRR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 424w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 848w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sZRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png" width="1456" height="1312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1312,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:343412,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sZRR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 424w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 848w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!sZRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6abbd03-f516-4c28-abfb-9b75221cb36e_1494x1346.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><div><hr></div><h3>Old way: learn learn learn learn learn do    </h3><h3>New way: learn do learn do learn do  </h3><h3>- <a href="https://twitter.com/wes_kao/status/1422951212920496133">Wes Kao</a></h3><div><hr></div><h3>The Recipe to Fail</h3><p>I reckon effective self-learning mimics what ML professionals do on a daily basis. Yet, many self-learners do the opposite: they get stuck in long lists of online courses. </p><p>After gaining a handful of certificates, they run out of motivation.</p><p>They end up applying to the popular enter-level positions, but after not getting any interviews, confidence drops. They feel overwhelmed by **everything to learn** and have little hope of fixing it.</p><p>Here&#8217;s the thing. </p><p>There is little credential value in online certificates.</p><p>Online courses can provide structured learning resources but have a marginal impact on employment attractiveness. Most assessments have all answers available online, so there is little risk or consequence for cheating. </p><p>But the same is also true for most portfolios, many copy-paste or tweak existing projects. It&#8217;s hard to tell the difference between real and low-effort projects. </p><p>For companies, it&#8217;s too risky to advance candidates without evidence of being hireable. </p><p>After building a weak ML resume, many self-learners apply to known companies. High salaries and status seduce them. Viral Medium posts by autodidacts who land high-status jobs are often valuable. However, they lead to the wrong impression. </p><blockquote><p>Early career high-status jobs without degrees are exceptions that are highly context-dependent. </p></blockquote><p>Unfortunately, many self-learners don't know how to find niche job opportunities that suit their no-degree background. </p><p>Instead, popular positions are flooded with applications. Many are complacent. With one-click applications and remote jobs, it&#8217;s easy to apply to hundreds of companies. Known tech companies have a hundred to several thousand applicants per position. In these resume lotteries, university graduates come out on top. </p><p>Many self-learners don&#8217;t land any interviews.</p><p>At this stage, it&#8217;s tough to get back on track. Self-learners spent their savings on living costs, they have little motivation left, and the pressure to create an income increases. </p><p>It&#8217;s hard to know what to do next. </p><p>Many ML experts recommend several years' worth of online courses to reflect the depth of their education and career. Unfortunately, although it comes with good intent, it often sets unrealistic expectations on what it takes to enter the ML field.  </p><p>At this point, self-learners don&#8217;t know if they should trust the academic camp that emphasizes calculus, algebra, statistics, and probability; the industry camp that argues for MLOps, pipelines, SQL, Git, and Kaggle; or the interview hacking camp that believes you should master LeetCode, cracking the coding interview, and memorizing the first part in Goodfellow's Deep Learning book.</p><p>Self-learners often drop out at this stage.</p><p>Many never realize there are **far better ways** to land an ML job.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/intent/user?screen_name=EmilWallner&quot;,&quot;text&quot;:&quot;Follow Emil Wallner on Twitter&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://twitter.com/intent/user?screen_name=EmilWallner"><span>Follow Emil Wallner on Twitter</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.emilwallner.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.emilwallner.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h3>Becoming Hireable </h3><blockquote><p>Many self-learners have a crucial misunderstanding: knowledge is not the same as evidence of being hireable.</p></blockquote><p>This relationship was first studied by <a href="https://www.jstor.org/stable/1937919">Solon and Hungerford</a> in the late 80s.</p><p>For example, if a university student drops out a few weeks before graduating, employers don&#8217;t see it as 98% of a degree. Last-minute dropouts will have almost the same knowledge as graduates, but only be a fraction as hireable as someone who stayed a few more weeks. </p><p>While online courses are excellent learning resources, they seldom make a candidate more attractive to an employer. For self-learners, taking online courses is like someone who drops out just before graduation. They have the knowledge but not the hiring credibility. </p><blockquote><p>If you don&#8217;t earn a traditional degree for your learning, you need to use your knowledge to compete for employment attractiveness.</p></blockquote><p>Self-learners have to compete for either brand recognition, time, attention, or money.</p><p>When ML professionals validate your work, they are risking their time and reputation. If someone pays you for work, they are risking their money. If a conference publishes your paper, they are risking their brand.</p><blockquote><p>When you compete for something scarce, you need trust, hard work, and talent. That&#8217;s what employers look for. </p></blockquote><p>The hard part of the ML self-learning path is not how to gain knowledge but how to create industry credibility.</p><p>A portfolio is a collection of evidence that ML professionals and institutions have traded something scarce for your talent and hard work. That portfolio could include work experience, open-source contributions, or beating established benchmarks. They show that you have obtained something rare and valuable.</p><h1>&#187; Get the full e-book on Gumroad or Amazon &#171;</h1><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://emilwallner.gumroad.com/l/no-ml-degree&quot;,&quot;text&quot;:&quot;Buy this e-book on Gumroad&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://emilwallner.gumroad.com/l/no-ml-degree"><span>Buy this e-book on Gumroad</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://emilwallner.gumroad.com/l/no-ml-degree&quot;,&quot;text&quot;:&quot;Buy this e-book on Gumroad&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://emilwallner.gumroad.com/l/no-ml-degree"><span>Buy this e-book on Gumroad</span></a></p><p></p><h1>Part One &#8594; Programming</h1><h3>Start with Programming</h3><p>Software is the majority of modern machine learning.</p><blockquote><p>Although many are eager to head straight into ML, it&#8217;s often far wiser and more practical to enter tech with software engineering. </p></blockquote><p>There are far more entry-level positions in software development, clear learning paths, and it&#8217;s faster and easier to learn. <a href="https://insights.stackoverflow.com/survey/2021">20%</a> of professional developers are self-taught, and in comparison, <a href="https://storage.googleapis.com/kaggle-media/surveys/Kaggle's%20State%20of%20Machine%20Learning%20and%20Data%20Science%202021.pdf">4.1%</a> of the employed data scientists on Kaggle are self-taught.</p><p>There are boot camps and other options to learn data science. However, it can be overwhelming to try to learn both programming and machine learning at the same time. It's usually better to get some experience with software engineering first, and then learn ML.</p><p>Having that said, data science boot camps can be helpful for roles that are related to data science but don't require as much technical expertise, such as analytics, product managers, support, and business roles. </p><h3>No-degree Tech Schools and Online Courses</h3><p>If you are still in high school, just curious, or already have a STEM degree, online coding courses are good options, such as <a href="https://www.codecademy.com/">Codecademy</a>, <a href="https://scrimba.com/">Scrimba</a>, and <a href="https://www.freecodecamp.org/">freeCodeCamp</a>. Online courses require the most motivation and offer the least support in landing jobs. Yet, they are cheap, fun, and easy to access.</p><blockquote><p>I learned programming via the <a href="https://42.fr/en/network-42/">42 network</a>. Imo, it&#8217;s still the best option if you are looking for a collage-like experience for self-learners. </p></blockquote><p>42 schools don&#8217;t require high school diplomas. It&#8217;s free, portfolio-based, and peer-to-peer without any teachers. You&#8217;ll land a job within six months, but you can also keep studying for four years. A good paid alternative to 42 is <a href="https://www.holbertonschool.com/">Holberton School.</a></p><p>Being part of a network is not just great for building life-long friendships and making learning more enjoyable, but it&#8217;s also important for referrals.</p><p>Self-learning schools are a great alternative for many who don&#8217;t jell well with traditional schools. There are also sound <a href="https://www.deansforimpact.org/wp-content/uploads/2016/12/The_Science_of_Learning.pdf">education theories</a> that support self-driven learning.</p><h3>Boot Camps</h3><p>The third alternative is traditional boot camps, either online or campus-based. They are often practical but have a more structured learning experience like schools.</p><p>If you are looking for more technical roles or don&#8217;t have any work experience, it&#8217;s worth going for boot camps that are at least six months. <a href="https://www.bloomtech.com/">Lambda School/BloomTech</a> is worth considering.</p><p>Traditional three-month boot camps often offer the shortest transition into tech. I reckon they are well suited for people who already have a career in another field and are looking for lighter technical roles. </p><p>On average, tech boot camps are <a href="https://www.coursereport.com/coding-bootcamp-ultimate-guide#university">14 weeks and cost $14k</a>. This is not enough time to become an outstanding coder, but it&#8217;s enough to land a web development job and continue the path of becoming one. <a href="https://www.coursereport.com/coding-bootcamp-ultimate-guide#university">79%</a> of boot camp graduates land tech job and the average salary is <a href="https://www.coursereport.com/coding-bootcamp-ultimate-guide#university">$69k</a>. Many boot camps hire their graduates as instructors, so take the numbers with a grain of salt.</p><p>The curricula tend to be similar, so I&#8217;d opt for a camp with a <a href="https://www.switchup.org/">high ranking.</a></p><h3>Computer Science</h3><blockquote><p>&#8220;But a lot of the work of a day-to-day MLE or data scientist is around putting things in production, or managing things, or scaling things, or figuring out how to grab stuff off of ten different databases and clean it and put it somewhere. That&#8217;s the kind of stuff I&#8217;m really looking for.&#8221; - <a href="https://dshiring.com/">Chris Albon</a>, Wikipedia</p></blockquote><p><a href="https://www.gartner.com/document/4014200">90%</a> of today's models are trained and deployed on servers.</p><p>Most of the work is focused on making the data, training, and production process faster by improving efficiency and organization.</p><p>Where I studied, we learned the C Programming Language in depth. We started by developing our own standard C library and then reinvented many classic algorithms and core programs in computers. I feel like C is a good abstraction layer. I can both dabble in lower-level languages and high-level languages.</p><blockquote><p>Imo, a practical computer science curriculum with a focus on projects and programming is a solid base. Specializations include security, DevOps, back-end, and graphics.</p></blockquote><p>Once you move to ML, you&#8217;ll be mostly working in Python, so it&#8217;s worth dabbling in that too. </p><h3>Front-end and Mobile</h3><p>Mobile and front-end roles are less common entries into ML. However, there are significant cost, latency, and privacy benefits to running ML models on personal computers and phones.</p><p>Client inference and optimization are valid entry-point into ML. Although only 10% of ML inference happens on the client today, according to <a href="https://www.gartner.com/document/4014200">Gartner</a>, this is expected to increase to 50% by 2025.</p><p>The major shifts on the client-side are human-in-the-loop, prompt engineering, and active learning. Creating smaller intermediate models, workflows, and programs to interact with server-side models is important. It&#8217;s also worth looking into Neural Radiance Fields and browser rendering. </p><p>On the tech side, I&#8217;d especially look into TensorflowJS, ONNX.JS, Eigen (C++) complied with Web Assembly and experiment with the newly developed PyScript. Full-stack roles fall between both roles. It&#8217;s a valid option, although I&#8217;d specialize on either the back-end or front-end to not be spread out too thinly. </p><p>Regardless of which programming path you choose, I&#8217;d aim for at least 6 months to 2 years of study and work experience to get a good foundation. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ym0f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ym0f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ym0f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:456,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ym0f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!Ym0f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47a945-f45c-4a8e-bc52-19cf126c5868_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Two &#8594; Machine Learning</h1><h3><strong>Learning Machine Learning</strong></h3><p>From informal chats with other self-learners and looking at how long they keep studying, an average self-taught student has around three months of motivation before giving up.</p><p>You can&#8217;t learn everything and need to make strategic tradeoffs. At heart there are two challenges:</p><ol><li><p>Having a good enough resume to get interviews</p></li><li><p>Passing the interviews and getting an offer</p></li></ol><p>Many autodidacts focus on knowledge that&#8217;s useful for interviews and wing their resumes. I&#8217;d argue for the opposite. </p><p>There is little point in being good at ML interviews if people don&#8217;t invite you to interviews. Also, you&#8217;ll have a higher chance of keeping the job and advancing if you have useful skills on day one.</p><p>It&#8217;s too overwhelming to both create a strong resume and competitive interviewing skills. Many university students have 5-9 years&#8217; worth of theory training and do months&#8217; worth of interview preparation. It&#8217;s unreasonable to both have a strong no-degree resume and also be competitive in theory-heavy interviews. </p><p>There are enough ML opportunities that have practical interviews and light theory requirements. It's best to focus on those gigs and maintain momentum. Work experience will give you a significant boost in later job hunts.</p><p>So, the goals for those three months are to:</p><ul><li><p>Learn data-centric problem-solving tools</p></li><li><p>Identify, scope, communicate and solve problems</p></li><li><p>Build a portfolio with externally validated results</p></li><li><p>Gain a light overview of ML and statistics</p></li></ul><p>Machine learning boot camps can work if you have significant programming experience. Many companies are also looking for strong programmers and offer on-the-job ML training.</p><p>However, ML is more competitive than software, and a strong portfolio weighs heavier than a boot camp graduation. Boot camps can also be inconvenient and expensive. There are also cheaper online boot camps such as <a href="https://www.udacity.com/nanodegree">Nano Degrees</a>. </p><p>Other options are cloud-specific ML <a href="https://www.techtarget.com/searchcloudcomputing/tip/3-popular-machine-learning-certifications-to-get-in-2022">certificates</a> such as GCP, Azure, and AWS. The tests have around 60 multiple-choice questions. It feels like it&#8217;s too easy to game to be valuable in general.</p><p>But some find them useful, especially for customer-centric <a href="https://t.co/7qWSqDHZcr">roles</a> for specific cloud providers. Cloud providers also track and incentivize partner companies to hire candidates with their certificates.</p><h3>Practical ML Courses</h3><p>Pick a practical ML course and study it for one month.</p><p>You might think that one month of ML is not enough to build your projects. But it is. You&#8217;ll be rusty and need to check things frequently, but you have enough to start solving data problems.</p><p>Look for instructors that are doing competitive industry work today. The current ML cycles are only <a href="https://mobile.twitter.com/karpathy/status/1468370605229547522">a few years</a> and best practices are improving each year. </p><blockquote><p>Solid practical ML courses for coders include <a href="https://course.fast.ai/">FastAI</a> and <a href="https://www.kaggle.com/thirty-days-of-ml-assignments">Kaggle&#8217;s 30 days of code</a>. </p></blockquote><p>Many find recent practical courses messy. That&#8217;s true.</p><p>The pace is fast and there are a lot of tools, mixing off-the-shelf library calls with dabbling in the source code, context switching, and debugging. But that also reflects reality, especially industry-level knowledge that people want to pay you for.</p><p>It&#8217;s less important if you use a paid solution, an open-source library, write models from scratch or know all the theory. What matters is spotting potential risks and weaknesses with your solutions and learning how to mitigate them. That&#8217;s what modern learning is.</p><p>The things you want to learn include:</p><p><strong>Problem-solving</strong></p><ul><li><p>The types of problems that machine learning can and cannot solve</p></li><li><p>Knowing when to use paid APIs, open-source, or custom solutions</p></li><li><p>Basic awareness of how your model impacts a business including privacy, UI/UX, legal, ethics, and their business model</p></li><li><p>Communicating expectations and timelines to technical and non-technical stakeholders</p></li><li><p>How and when to mitigate risk from your inexperience</p></li></ul><p><strong>Data</strong></p><ul><li><p>Understanding what data is available to you, and how to get more</p></li><li><p>Extracting, visualizing, cleaning, and loading data</p></li><li><p>Understand the data and make informed decisions based on it</p></li></ul><p><strong>Models</strong></p><ul><li><p>Understanding the type of problem and how to find a solution</p></li><li><p>Setting and measuring appropriate objectives and success criteria</p></li><li><p>Quickly reaching a baseline model</p></li><li><p>Training models with state-of-the-art results</p></li><li><p>Fast and efficient debugging</p></li><li><p>Visualizing model performance</p></li><li><p>Deploying models and understanding memory, cost, queries-per-second, and latency</p></li></ul><p>By all means, skim online courses, and look up things on YouTube and Google, but after your month-long practical course, your focus should be 90% on your portfolio.</p><p>That honeymoon phase goes fast and you need a resume.</p><h3>Breadth, Credibility, and Edge</h3><p>Imo, deep learning is the most exciting area and has the most future potential. I rarely use classic machine learning approaches, although they are common in the industry and are often used in interviews.</p><p>In the evenings, it&#8217;s worth exploring StatQuests' <a href="https://www.youtube.com/watch?v=qBigTkBLU6g&amp;list=PLblh5JKOoLUK0FLuzwntyYI10UQFUhsY9">the Basics (of statistics)</a> and <a href="https://www.youtube.com/watch?v=Gv9_4yMHFhI&amp;list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF">Machine Learning</a>. You can use a flashcard app like <a href="https://apps.ankiweb.net/">Anki</a> to memorize the key concepts in these videos. </p><p>For your portfolio, you have two types of portfolio projects: </p><ul><li><p>Degree equivalent projects, 1-3 months long result-driven projects that give you credibility</p></li><li><p>Talent projects, 1-4 week open projects that make you stand out</p></li></ul><p>A degree equivalent project is what makes employers invite you to interviews. They give you evidence that you can do the job. Talent projects are both great for marketing yourself and making you stand out in the interview process.</p><p>However, if you only have shiny talent projects, many employers will doubt that you can do the daily grunt work to deliver on projects. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2AG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2AG_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png" width="398" height="108.12333333333333" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:398,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2AG_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Three &#8594; A Base Portfolio</h1><h3>Weak Portfolio Projects </h3><p>A typical weak portfolio project is listing toy problems such as MNIST, Titanic, and Iris on your resume. For many employers, that is an instant rejection. They are considered school projects and don&#8217;t require talent or endurance to solve.</p><p>Some ML projects have neither a positive nor negative impact on your resume. They are comparable to blank portfolio items. This might sound harsh, but these are often the most common ML projects. </p><p>These portfolio items are often too hard to evaluate or lack results. For example, a stock prediction app, a GAN to generate artwork, reinforcement learning applied to a game, or a cancer prediction model. Many recruiters will see 5-10 people with the same portfolio projects on any given day.</p><p>These could be great projects, but they lack enough information to inform a recruiter. </p><p>Self-learners are often naive. They don&#8217;t have any experience competing against candidates that lack integrity. Many fake their portfolios. They clone a project, change a few things, fake a git commit history, and create a documentation. Some even study the source code to answer questions about it. </p><blockquote><p>Self-learners need to differentiate themselves from fake and low-effort portfolios.</p></blockquote><h3>Degree Equivalent Portfolio Projects</h3><p>A non-expert recruiter needs **hard evidence** that you didn&#8217;t copy-paste your projects. And even if you have impressive results, they need to be validated by someone else. Otherwise, you could have made trivial mistakes, made them up, or plagiarized them.</p><p>It&#8217;s your responsibility to create the evidence equal to a degree. </p><p>A result-based portfolio project means that you achieved something objectively good and it&#8217;s easy to understand. You have three options when it comes to clear result-based portfolio items:</p><ul><li><p><a href="https://twitter.com/tunguz/status/1524089355089891331">High-ranking</a> score in an ML competition</p></li><li><p><a href="https://www.firsttimersonly.com/">A contribution</a> to a popular ML open-source project</p></li><li><p><a href="https://andreas-madsen.medium.com/becoming-an-independent-researcher-and-getting-published-in-iclr-with-spotlight-c93ef0b39b8b">A published paper</a>/workshop paper (mostly relevant for transitioning STEM researchers)</p></li></ul><p>These are hard to achieve for your first portfolio, but it&#8217;s worth knowing what to aim for. There are three more result-based portfolio items, but they require effort for recruiters to understand. Thus, they are less valuable than the previous three categories.</p><ul><li><p>An ML project with real users (ideally a deployed model with a UI) </p></li><li><p>Industry-specific solution with a mentor that provides a testimonial </p></li><li><p>ML content marketing with high engagement such as blogging, podcasts, and videos (developer advocacy roles)</p></li></ul><h3>High-effort Projects</h3><p>Some of the highest value portfolio items are first-author published papers in machine learning conferences such as NeurIPS, ICLR, and ICLM, top entries in large Kaggle competitions sponsored by known companies, and open source contributions in popular libraries such as Scikit Learn, TensorFlow, Numpy, or PyTorch.&nbsp;</p><p>These are easy to understand and as a high-effort signal. But these are hard to achieve given the timeframe self-learners have.</p><p>More achievable results would be workshop papers in NeurIPS, ICLM, and ICLR or a published paper in any <a href="https://scholar.google.es/citations?view_op=top_venues&amp;hl=en&amp;vq=eng_artificialintelligence">other ML conference</a>. I made a contribution to the <a href="http://www.aiartonline.com/design/emil-wallner/">creative workshop</a> at NeurIPS. Although I made a light contribution, having someone select the work and participate in the community is valuable. However, it&#8217;s more reasonable for someone transitioning from another research field, say Physics, which is common.</p><p>Smaller ML competitions are great portfolio projects. That could be more niche competitions on Kaggle, <a href="https://numer.ai/">Numerai</a>, ML conference competitions, or company competitions. Imo, it&#8217;s better to have a top ranking in a small competition than to be average in a large competition. </p><p>The third core opportunity is open-source contributions to up-and-coming projects. Also, it&#8217;s often the best way to collaborate and get to know people who work in ML. </p><blockquote><p>I&#8217;d highly consider contributing to one of the following open-source projects: <a href="https://ffcv.io/">FFCV</a>, <a href="https://www.eleuther.ai/">EleutherAI</a>, <a href="https://github.com/huggingface">Hugging Face</a>, <a href="https://www.pytorchlightning.ai/">Pytorch Lightning</a>, <a href="https://laion.ai/#top">LAION</a>, <a href="https://github.com/replicate">Replicate</a>, <a href="https://github.com/rwightman/pytorch-image-models">timm</a>, <a href="https://github.com/qubvel/segmentation_models">Segmentation Models</a>, <a href="https://gym.openai.com/">OpenAI Gym</a>, <a href="https://albumentations.ai/">Albumentations</a>, <a href="https://github.com/arogozhnikov/einops">einops</a>, <a href="https://github.com/microsoft/onnxjs">ONNX JS</a>, <a href="https://github.com/google/flax">FLAX</a>, and the <a href="https://github.com/fastai">FastAI Library</a>. </p></blockquote><p>These projects are done by some of the most talented people in the industry, and they are often looking for people to help. They might even have solid first issues listed in their GitHub repos. You can find more OS <a href="https://github.com/ml-tooling/best-of-ml-python">projects here</a>. </p><p>These portfolio items will require a lot of hard and focused work. But these systems are meritocratic. Good work will be recognized. </p><h3>Industry Portfolio Projects</h3><p>Working with someone in the industry to solve a real problem and have them write a testimonial is a safe and solid portfolio project. However, unless you have someone that vouches for your solution, it&#8217;s not a result-based project.</p><p>The hardest part is finding someone to work with.</p><p>One path is to email ten to twenty ML engineers at startups you respect. Ask them for industry problems with accessible data that you can tackle. A good place to find prospects are people on Twitter with less than 10k followers and a blog.</p><p>Email example:</p><p><code>Title: Industry ML problems</code></p><p><code>Hi Jane,  </code></p><p><code>I&#8217;m self-studying deep learning [Link to github] and I&#8217;m looking for problems I can tackle for my portfolio.</code></p><p><code>Given your interesting work on Twitters&#8217;s recommendation system [link to their blog], I thought you could have exposure to other unique industry problems. </code></p><p><code>I&#8217;m thinking of using Twitter&#8217;s API to do an NLP analysisis to detect the percetage of bots on Twitter. Is that a good entry-level problem to tackle or can you think of something else?</code></p><p><code>Cheers, Bob </code></p><p>Keep it short, indicate that you have done your homework, and give them an easy way out. If you translate their feedback into results, they&#8217;ll be happy to keep helping you.</p><p>When you have worked hard on the problem and have a great result, you can ping them again and ask for feedback on the project. ML engineers can both put you in a good starting point, scope the project, help you when you get stuck, and potentially hire or recommend you later. </p><p>You can also approach people that post <a href="https://www.upwork.com/freelance-jobs/data-science/">data-related freelance</a> projects on freelancer marketplaces and look at sites that post <a href="https://www.kdnuggets.com/2020/12/data-science-volunteering.html">pro-bono data projects</a>.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Ruq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Ruq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Ruq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png" width="514" height="139.63666666666666" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:514,&quot;bytes&quot;:31038,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!0Ruq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!0Ruq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F654b6259-16e1-4328-bc09-56fcb72b6154_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Four &#8594; Talent projects</h1><h3><strong>Short expressive projects</strong></h3><p>To get an interview, you need a result-driven project with external validation. Companies want evidence that you are reliable and can do the job. This is very much like the value of a degree.</p><p>To deliver on result-driven projects, you often need to use well-established solutions to defined problems. In comparison, talent projects don&#8217;t have the same burden on rigor. Instead, the focus is on novelty and storytelling. It's all about expressing yourself.</p><p>Here are a few characteristics of talent projects:</p><ul><li><p>It takes 1-4 weeks</p></li><li><p>It explores something novel</p></li><li><p>The result is a demo, blog post, or a visual</p></li></ul><p>Talent projects can be used in different scenarios:</p><ul><li><p>Stand out in interviews</p></li><li><p>Indicate you have passion for a particular topic</p></li><li><p>Personal branding and marketing yourself</p></li><li><p>Art and creative projects</p></li><li><p>Create a developer advocacy skillset</p></li></ul><p>Also, worth noting, that if you have say a Master's in another STEM subject or have done something else impressive. This can give you enough headwind to do one or two shorter talent projects and still be competitive when looking for an ML job.</p><h3>The Risk of Open-ended Projects</h3><p>Talent projects are risky. You have to define a problem, find a solution, communicate the project, and market the project. They are more idea-driven and require more taste and skillsets outside of machine learning.</p><p>Many things go wrong. According to Gartner, <a href="https://www.infoworld.com/article/3639028/why-ai-investments-fail-to-deliver.html">85%</a> of ML projects fail.</p><p>The model you base your work on might not work well in practice, this is very common. It often takes a few attempts to find a model to work with. Even if it runs, there can be lots of issues with the model and it can be hard to put it into production. </p><p>But even if you get a result, it could be too complex, you can&#8217;t communicate it, few care about your problem, or it&#8217;s already been done.</p><p>Talent projects are usually the most popular type of projects among learners. They are often more flexible and fun, and have less accountability. However, since talent projects are hard to execute and popular among students, they also introduce the most noise. As a result, it is difficult to compare students who have completed open-ended projects.</p><h3>Interview Edge Projects</h3><p>Getting an interview is one problem, but getting the final offer is the second problem. The final selection often correlates to how passionate candidates are about **their specific problems** and their company.</p><p>All candidates will claim they are interested in a company, but there is nothing better than proof, making a short portfolio project targeting a specific company or industry. This is far more convincing than words.</p><p>That&#8217;s where talent projects come in. Think, the icing on the cake. I mean, what&#8217;s a carrot cake whiteout that thick layer of cream cheese frosting. </p><p>Here are a few examples of X-factor projects:</p><ul><li><p><a href="https://twitter.com/rice_fry/status/1482117604399480833">How to impress Karpathy and Elon in two weeks</a></p></li><li><p><a href="https://github.com/lucidrains?tab=repositories">How to turn novel paper into a prototype</a>s</p></li><li><p><a href="https://towardsdatascience.com/the-cold-start-problem-how-to-build-your-machine-learning-portfolio-6718b4ae83e9">How to collect data in the wild and create irl demos</a></p></li></ul><p>At heart, an interview edge project shows that you are up to date with the latest developments, you are curious, and interested in your potential employer&#8217;s type of problems.</p><h3>Developer Advocacy Projects</h3><p>There are a lot of ML roles that focus on raising awareness of their product or service. That could be anything from blogging and podcasts to videos. Developer advocacy roles focus on engagement such as views, signups, likes, etc. These roles are often fun and creative and can also work as a transition into more technical roles.</p><p>As a rough ballpark for combined direct views per content piece (not including views on say Twitter or Instagram):</p><ul><li><p>Okay: 5k </p></li><li><p>Good: 25k </p></li><li><p>Excellent: 100k+</p></li></ul><p>The internet is meritocratic, so if you make an excellent contribution, communicate it, and share it. It has a high chance of generating decent user metrics. The external excitement is an indicator that you made a unique contribution. Without it, it's hard to tell if you made anything at all. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8xlY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8xlY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8xlY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png" width="450" height="122.25" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:450,&quot;bytes&quot;:17886,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8xlY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!8xlY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc89a86-78ad-45ba-a745-33fe6a7a3ac2_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Five &#8594; Self Evaluation </h1><h3><strong>Metric-based Portfolio Items</strong></h3><p>Let&#8217;s look at an example of a weak portfolio item:</p><ul><li><p>A skin cancer classification model</p></li></ul><p>In reality, students will add jargon and different technologies.&nbsp;</p><p><em>Say, </em> &#8216;<em>A skin cancer classification model in PyTorch, cleaning the data and using a CNN with transfer learning, using weight and biases for metric tracking, and so on.</em>&#8217;</p><p>This describes what they did. Many believe that adding more technical terms or steps will make it sound more impressive. It doesn&#8217;t.&nbsp;</p><p>It doesn&#8217;t have a result, we don&#8217;t know the context, and you wrote it, so you could have made everything up. The project could have been a significant effort or copy-pasted. Self-learners feel like it was the first, but an employer will assume it&#8217;s the last.&nbsp;</p><p>Let&#8217;s improve it a little.</p><ul><li><p>A skin cancer classification model with 90% accuracy</p></li></ul><p>Now, we have a metric, but without context and some objectivity, it doesn&#8217;t mean anything. 90% accurate on what? how many examples? was it an established benchmark? did you use a test set? did you copy-paste an existing solution? </p><p>Another iteration:</p><ul><li><p>A skin cancer classification model with 90% accuracy on Benchmark X with a previous SOTA of 85%</p></li></ul><p>This almost makes the cut. </p><blockquote><p>A result has three components: a metric or testimonial, a context, and third-party validation.</p></blockquote><p>It has a metric and a context, but it lacks objectivity. SOTA means state of the art, and means you have the best current solution to a defined problem.</p><p>This indicates that you solved a problem. Since your result is better than the existing solution, it reduces the chance that you copy-pasted a solution. However, it still raises doubts, maybe someone else in your team did all the work, the benchmark is weak, or your results are wrong? The objectivity is lacking. </p><p>Let&#8217;s improve it.</p><ul><li><p>A skin cancer classification model with 90% accuracy on Benchmark X with a previous SOTA of 85%. Published in Machine Learning Conference X as the first author.&nbsp;</p></li></ul><p>A similar result but in a different context:</p><ul><li><p>A skin cancer classification model with 90% accuracy on Benchmark X on Machine Learning Competition X by Company Y. Solo participant with place 120/2450, placing it in the top 5%. The top solution had 91% accuracy.&nbsp;</p></li></ul><p>Now we have a solid portfolio item. When a third party validates a result, it reduces the doubt that there was a mistake in your work or that you made it up. Many employers neither have the time nor expertise to validate results, so it&#8217;s dependent on external validation. Also, first author or sole participant means that you are responsible for the main result.&nbsp;</p><h3><strong>Testimonial-based Portfolio Items</strong></h3><p>Here&#8217;s another example starting with a weak portfolio item:</p><ul><li><p>An implementation of the LAMB optimizer&nbsp;</p></li></ul><p>Same story as last time. There are many LAMB optimizers online, and you could have copy-pasted it. If you don&#8217;t know what LAMB is, don&#8217;t worry about it.&nbsp;</p><ul><li><p>An implementation of the LAMB optimizer and a blog post about it [link]</p></li></ul><p>Again, it could be a &#8216;copy&#8217; project, but taking the effort to write about it creates more context and increases the likelihood that it&#8217;s an actual project. But there is enough content online about LAMB optimizers to put something together without understanding it.&nbsp;</p><ul><li><p>A released open-source contribution to PyTorch, the LAMB optimizer [link], and a blog post [link].</p></li></ul><p>This makes the cut for a result. When contributing to a popular framework, it makes it clear that you made it. You both had to understand the framework, understand what they need, learn the framework enough to improve it and pass a technical review for your submission.</p><p>To spice it up, you can also request a quote from someone on the PyTorch team (made by Facebook Meta), so:&nbsp;</p><ul><li><p>&#8220;X made a fast and well-documented implementation of the LAMB optimizer in PyTorch.&#8221;, Employee X at Facebook Meta. [endorsement link], [commit link] and a blog post [link]</p></li></ul><p>Having the endorsement public on Twitter, LinkedIn, or GitHub makes the endorsement verifiable. </p><p>A non-technical person might not know what LAMB is nor PyTorch is. Having a quote validates that it&#8217;s a real contribution and not say a pull request for a typo. The human element is also a nice touch.</p><h3>Product Portfolio Items</h3><p>Again, let&#8217;s look at an example, starting with a weak portfolio item:</p><ul><li><p>A super-resolution model</p></li></ul><p>No result, no context, no third-party validation.</p><ul><li><p>A super-resolution model with a Google Colab UI</p></li></ul><p>Adding a UI makes it much easier for a non-technical person to understand the value of the project, so that&#8217;s a good start.&nbsp;Yet, most recruiters are too lazy to run your notebook.</p><ul><li><p>A super-resolution model in production and a live javascript UI</p></li></ul><p>This is a significant improvement. Running models in production is a big part of ML, and a recruiter can now test it in a few seconds without any technical expertise. </p><ul><li><p>A super-resolution model in production and a live UI. [link] Optimized deployment taking the original RAM footprint from 1 GB to 250MB, and the CPU inference from 4 seconds to 30 ms. [Google Colab benchmark link]</p></li></ul><p>This is an above-average project. RAM footprint and inference speed are crucial for both the user experience and the cost. These are both high priorities for an employer. It indicates that you are both street-smart and result-oriented. However, a cynical recruiter will assume you cloned the project from GitHub. It&#8217;s missing external validation.</p><p>For this project to have edge and marketing potential, the super-resolution model has to be recently released in an ML conference or custom made, and still not be accessible with a UI. </p><p>That&#8217;s what makes it newsworthy and gain traction online.&nbsp;</p><ul><li><p>A super-resolution model in production and a live UI. [link] Optimized deployment taking the original RAM footprint from 1 GB to 150 MB, and the CPU inference from 4 seconds to 30 ms. [Google Colab benchmark link]. 100 weekly users [Stats screenshot], 250 stars on GitHub [link], and seen on Hacker News [link] and recommended by X, at Famous company. [link to tweet]</p></li></ul><p>These snippets can be added to both your resume, LinkedIn, and in your blog posts. Open-ended projects need a cluster of external validation since the core result is not as clear as the other categories of portfolio projects.</p><p>Oh, as a bonus, it&#8217;s extra valuable if you deploy it on a scalable back-end on any of the large cloud providers such as GCP, AWS, or Azure. Show evidence that it supports at least 100 QPS. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c020!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c020!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!c020!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!c020!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!c020!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c020!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png" width="412" height="111.92666666666666" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:412,&quot;bytes&quot;:31324,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!c020!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!c020!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!c020!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!c020!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F985cecaf-f618-435d-9e5f-0909f606e5dc_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Six &#8594; Ideas</h1><h3>Base Portfolio Ideas</h3><p>There are two types of ideas: beginner ideas and experience-based ideas. Novice ideas feel like eureka moments, and experience-based ideas are more like a sigh of relief after grinding a problem for months or years. </p><p>We take novice ideas too personally. By the time the idea-intoxication runs off, we&#8217;ve wasted months on something doomed to fail on day one.</p><blockquote><p>Until we have a few years of experience, it&#8217;s often better to rely on gut ideas as little as possible. </p></blockquote><p>Good base portfolio ideas are validated problems. </p><p>For example:</p><ul><li><p>Github issues in open-source projects</p></li><li><p>Machine learning <a href="https://www.tableau.com/about/blog/2019/3/7-data-competitions-data-scientists-and-analysts-104111">competitions</a></p></li><li><p>Asking ML practitioners what problems they are facing</p></li><li><p>Browsing ML project proposals on <a href="https://www.upwork.com/freelance-jobs/data-science/">freelancer websites</a></p></li></ul><p>For your ML portfolio base, you want to translate hard work into outcomes with as few risks as possible. </p><h3>Talent Project Ideas</h3><p>To develop newsworthy projects, you need to take risks.</p><p>In general, it&#8217;s better to overdeliver on a tiny real problem than to make a vague attempt on an ambitious problem. You want the story to be: I solved X. It worked. Versus, I did X,Y,Z,P, and S. It lead to something. I think. </p><blockquote><p>Successful talent projects lead to a short and clear stories.</p></blockquote><p>As a novice, we want to rely on our intuition as little as possible. The secret of good ideas is to improve an already interesting idea &#8212; polish diamonds.</p><p>Finding exciting ideas to build on is all about quantity. In my experience, novices are better at comparing projects than case-by-case evaluations. Thus, we are better off ranking 30 potential project areas than deciding if a few specific ideas have merit.</p><p>Most beginners get exposed to ideas in the same way: popular Twitter accounts, HackerNews, Reddit, press, Arxiv Sanity, popular newsletters, YouTube channels, podcasts, and top ML conferences.</p><p>If the idea has appeared in any mainstream channel, it&#8217;s often overexploited, especially if it appears in several mainstream outlets.</p><h3>Sourcing Ideas</h3><p>Here are a few solid starting points:</p><ul><li><p>Top ML conferences from 1987 to 2007 </p></li><li><p>Stanford&#8217;s <a href="https://nlp.stanford.edu/courses/cs224n/">CS224n</a>, <a href="https://stanford-cs329s.github.io/">CS329S</a> &amp; <a href="http://cs231n.stanford.edu/index.html">CS231n projects</a></p></li><li><p>FastAI <a href="https://twitter.com/EmilWallner/status/1522207033931403264">student projects</a></p></li><li><p>Twitter <a href="https://twitter.com/EmilWallner/following">likes</a> &amp; GitHub <a href="https://github.com/emilwallner?tab=following">stars</a></p></li><li><p>Creative projects <a href="https://twitter.com/ak92501">like AK</a>, <a href="https://mlart.co/">ML x Art</a>, <a href="http://www.aiartonline.com/">NeurIPS gallery</a></p></li><li><p>Edge devices and <a href="https://twitter.com/EdgeImpulse">hardware projects</a></p></li><li><p>Kaggle <a href="https://www.kaggle.com/search?q=1st+place">Kernels</a></p></li><li><p>Top 15-40% of papers on <a href="https://arxiv-sanity-lite.com/">Arxiv Sanity</a></p></li></ul><p>Aim for first-author papers or projects made by people early in their careers. If a person made a project early in their career they often had less experience and access to compute. It increases the odds that you can contribute to the project.</p><p>New projects made by senior ML practitioners are often too complex and compute-heavy to build on. There are exceptions, but it can be hard to tell for a beginner.</p><h3>Ranking Ideas</h3><p>I try to have at least 20-30 project ideas before ranking them.</p><p>There are a handful of things you want to consider:</p><ul><li><p>Can you impress a non-technical person in less than 30 seconds?</p></li><li><p>Can you find a quick way to run the model, e.g. colab or open-source?</p></li><li><p>Do you have enough compute and knowledge for the project?</p></li><li><p>Is there a clear angle to improve it?</p></li><li><p>Does it **really** excite you?</p></li></ul><p>There is no clear way to rank them. It often depends on what you will use the project for, say your resume, marketing yourself, or getting a developer advocacy role.</p><p>My first two projects:</p><ul><li><p><a href="https://blog.floydhub.com/colorizing-b-w-photos-with-neural-networks/">Colorizing Black and White Photos</a> | <a href="https://arxiv.org/abs/1712.03400">Student paper inspiration</a> </p></li><li><p><a href="https://blog.floydhub.com/turning-design-mockups-into-code-with-deep-learning/">Turning Design Mockups Into Code</a> | <a href="https://arxiv.org/abs/1705.07962">Student paper inspiration </a></p></li></ul><p>Once you have the final five projects, you often want to pick what makes you most excited. This is when your gut can be helpful. Also, the sooner you can run the code and evaluate the model, the more you reduce the risk. If you can&#8217;t create a baseline within the first week, you want to move on to something else.</p><h3>Promoting Projects</h3><p>Imagine your reader being an average distracted social media user. Make it simple. Having something highly visual or a few-click online demo is vital if you want people to share it. </p><p>Spreading good vibes on Twitter and having a good reply game will help you build a small audience. That will be crucial to getting your content some action on Twitter. The same is true for other communities. </p><p>If you use a specific tech, say <a href="https://keras-slack-autojoin.herokuapp.com/">Keras</a>, <a href="https://join.slack.com/t/ffcv-workspace/shared_invite/zt-11olgvyfl-dfFerPxlm6WtmlgdMuw_2A">FFCV</a>, <a href="https://discord.com/invite/mVcgxMPD7e">LAION</a>, <a href="https://discord.com/invite/xnpeRdg">FastAI</a>, etc., you can post it in their Slack channels and Discord groups. Larger products like Tensorflow, also have dedicated marketing teams that <a href="https://developers.google.com/community/experts">can help you</a>. They often promote articles on their social channels. For example, here&#8217;s a promo Google did on <a href="https://www.youtube.com/watch?v=xKPk7tG2upc&amp;ab_channel=Google">my first ML project</a>. </p><p>You can also cross-post it to say <a href="https://dev.to/">Dev.to</a>, Medium publications such as <a href="https://towardsdatascience.com/">Towards Data Science</a>, <a href="https://substack.com/">Substack</a>, <a href="https://www.freecodecamp.org/news/tag/blog/">FreeCodingCamp</a>, <a href="https://hackernoon.com/">HackerNoon</a>, and pitching tech media outlets such as <a href="https://thenextweb.com/news/everything-you-need-to-know-about-the-tnw-contributor-program">TheNextWeb</a>. Publishing platforms often promote the content on their platforms.</p><p>Otherwise, Reddit r/learnmachinelearning and r/MachineLearning/ are good places to share your projects, as well as other programming-related subreddits, <a href="https://www.lesswrong.com/">Lesswrong</a>, <a href="https://news.ycombinator.com/submit">Hacker News</a>, the <a href="https://forums.fast.ai/">FastAI forum</a>, and <a href="https://www.producthunt.com/">Product Hunt</a>. TikTok and YouTube are also worth testing. If you get some action, GitHub&#8217;s trending section will also start pulling an audience.</p><p>If you have a model, add it to all the model platforms, such as <a href="https://huggingface.co/spaces">Huggingface spaces</a>, <a href="https://replicate.com/">Replicate</a>, <a href="https://modelplace.ai/">Modelplace</a>, and <a href="https://runwayml.com/hosted-models/">Runway models</a>.</p><p>A lot of the traffic will come from Google, so it&#8217;s worth looking at Google&#8217;s Keyword tool, other mainstream <a href="https://moz.com/">SEO tools</a>, Google&#8217;s trending topics, and Youtube&#8217;s Keyword tool. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yg3X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yg3X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yg3X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png" width="402" height="109.21" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:402,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!yg3X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!yg3X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39fc5ff9-e2c5-43a9-b8dc-d1e84521f5ec_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Seven &#8594; Workflow</h1><h3>High-effort Focus</h3><p>To watch a youtube video, run a few cells in a notebook, or copy a snippet of code for an assignment requires low effort. It doesn&#8217;t require much willpower or clarity of mind.</p><p>However, as soon as you start with a blank page and try to build your first project, you need high-effort focus. It&#8217;s more mentally straining and requires more effort to create and maintain the focus.</p><p>To build a high-effort focus, have a look at <a href="https://jamesclear.com/atomic-habits">Atomic Habits</a> and <a href="https://www.calnewport.com/books/deep-work/">Deep Work</a>. </p><p>80% is having a good sleep, exercise, and food routines. Sleep at least 8 hours, ideally 9 hours, in a quiet, dark, and cool environment. Have at least 20 minutes of exercise per day to elevate your heart rate, and eat healthy food that does not spike your sugar levels. </p><p>It&#8217;s the foundation for high-effort focus.</p><h3>Tiny Habits</h3><p>My favorite concept from Atomic Habits is <a href="https://www.npr.org/2020/02/25/809256398/tiny-habits-are-the-key-to-behavioral-change?t=1642959179725">tiny habits</a>. For example, for your first solo project on day one, start your working day with a blank notebook. Stare at it for 1 minute. That&#8217;s it. Celebrate and take the day off!</p><blockquote><p>It might seem odd to celebrate doing nothing. But far too many stay in the comfort zone of low-effort learning.</p></blockquote><p>On day two, aim to write one line. The following day, a paragraph of code. And so on. Most only start with 5-15 min of high-effort focus per day. Work with that, celebrate success, and aim to increase it by 5-10 min every day.</p><p>If you can work that up to 1-3 hours per day, you have a solid chance of succeeding. That&#8217;s what most practitioners do. </p><p>Activating your high-effort focus every morning is the hardest part of your ML journey.</p><h3>Learning Schedule</h3><p>The time of the day is the second key aspect to consider. Our highest potential for high-effort focus is from the morning until lunch, and then rapidly declines after lunch and improves around dinner.</p><p>Three main time slots:</p><ul><li><p>8-14: High-effort focus (scoping, coding, major refactoring)</p></li><li><p>14-18: Low-effort focus (light debugging and simple refactoring)</p></li><li><p>18-22: Mid-effort focus (learning gaps + skimming)</p></li></ul><p>Active problem solving takes the most effort, such as coding or hard debugging. That should be your focus for your morning slot. It&#8217;s difficult to get invested in a challenging programming problem after lunch. </p><p>It&#8217;s also worth testing Lex Fridman&#8217;s <a href="https://www.youtube.com/watch?v=0m3hGZvD-0s&amp;ab_channel=LexFridman">routine</a>. He takes a large break during lunch for exercising and leisure to reenergize for another high-effort session. </p><p>Some will deviate from this schedule, but the essence is to build awareness of when you are most effective and structure your workflow accordingly.</p><h3>Social Media</h3><p>The villain in your self-learning journey is social media addiction. As soon as things get a little hard, it will be prepared to send you off the rails.</p><p>For me, it&#8217;s always an ongoing battle. As social media gets stickier, I need to find new ways to deal with it.</p><p>Here are a few things to consider:</p><ul><li><p>Deactivate accounts that are not crucial for your life. I deactivated Instagram, Facebook and removed my LinkedIn. This reduces entry points to getting sucked into a feed.</p></li><li><p>Add parent control and screen time limits to disable feed-based social media apps on your phone. If you can&#8217;t follow them, have a friend create a password to lock you out.</p></li><li><p>Add two-factor authentication on all social media accounts. At the start of your day and after lunch, log out of all accounts and put your phone in a <a href="https://www.amazon.com/dp/B08JSMQ2GC?ref_=cm_sw_r_cp_ud_dp_E8GQCRPZANQGSZMYM7EN">phone lock</a>.</p></li></ul><p>The last tip is to avoid meta procrastination, to procrastinate by over-engineering your procrastination remedy. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2AG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2AG_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png" width="344" height="93.45333333333333" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1200,&quot;resizeWidth&quot;:344,&quot;bytes&quot;:31515,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2AG_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 424w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 848w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1272w, https://substackcdn.com/image/fetch/$s_!2AG_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4bd1a-c220-4d01-84c9-c4b65e9e949f_1200x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>Part Eight &#8594; Applying to Companies</h1><h3><strong>Competitive Disadvantage</strong></h3><p>For popular entry-level jobs, many companies optimize for scale. They often use automated filters, non-technical people to screen resumes, and use one-size-fits-all questions. </p><p>These hiring pipelines are often optimized for university graduates who lack experience. They select candidates based on brand-name universities, and the interviews resemble general aptitude tests, coding tests, and CS and ML theory questions.</p><p>These processes are &#8216;hackable&#8217;. But you often need work experience to be considered and a <a href="https://huyenchip.com/ml-interviews-book/">few months</a> of interview preparation. These are often better as your second or third ML gig.</p><h3><strong>Competitive Advantage</strong></h3><p>There is a second type of hiring process that make for ideal entry-level targets: specialized, practical, or small-scale hiring. </p><p>When organizations:</p><ul><li><p>Need specialized knowledge</p></li><li><p>Have few applications</p></li><li><p>Companies that lack on-the-job training resources </p></li><li><p>Value diverse candidates</p></li><li><p>Value and assess job-related skills</p></li></ul><p>These tend to be smaller organizations and startups, companies with specific cultures, or specialized teams within larger companies. They have a more custom hiring process. Hiring managers are technical and questions are catered to each candidate&#8217;s work or reflect skills you need for day-to-day work.</p><h3>High-growth Startups and Small Organisations</h3><p>Smaller companies tend to be good because they often have technical hiring managers, often the technical founder of a company, and consider every candidate due to a lack of applications. They also need people who can add value on day one.</p><p>This gives them the context and motivation to analyze a no-degree resume. However, the hiring processes vary a lot, they can be picky, and you often have to do more adjacent work related to ML.</p><p>To find startups, have a look at <a href="https://www.producthunt.com/search?q=ai&amp;topics=Artificial%20Intelligence">Product Hunt</a>, browse Y Combinators <a href="https://www.ycombinator.com/companies">list of startups</a>, <a href="https://angel.co/jobs">Angel list</a>, check &#8216;<a href="https://hn.algolia.com/?dateRange=pastYear&amp;page=0&amp;prefix=true&amp;query=ask%20hn%3A%20who%20is%20hiring&amp;sort=byPopularity&amp;type=story">Ask HN: Who is hiring?</a>&#8217; monthly threads on Hacker News, <a href="https://remoteok.com/">remote jobs</a>, local incubators and offices, and portfolios of <a href="https://betaboom.com/blog/top-angel-investors/">angel investors</a>.</p><p>To find other smaller companies, contact your network. Everyone. Contact people on your social networks, your family, your cousins, and friends of your family. Get the word out. It can be awkward but often generates the warmest leads.</p><p>It can also be worth contacting research institutions. They often need people who can do the more engineering-heavy side of their ML research. </p><h3><strong>Midsized and Large Companies</strong></h3><p>Larger companies tend to have more conservative hiring which favors university students, especially in old industries such as pharma and telecom. Yet, there are exceptions. </p><p>There are a few main strategies to find no-degree opportunities in large companies:</p><ul><li><p>Search for no-degree graduates on LinkedIn and see where they work (e.g. famous boot camps, Kaggle, or no-degree schools)</p></li><li><p>Ask no-degree graduates directly </p></li><li><p>Look for companies that actively look for <a href="https://www.nocsdegree.com/jobs/">no-degree candidates</a></p></li><li><p>Attract companies with online and social media presence </p></li><li><p>Interview-as-a-Service companies such as <a href="https://triplebyte.com/">TripleByte</a></p></li><li><p>Browse Glassdoor and look for companies with <a href="https://www.glassdoor.fr/Overview/Working-at-Skyscanner-EI_IE437400.11,21.htm?countryRedirect=true">practical interviews</a></p></li></ul><p>It requires some work to find these companies, but larger companies can often pay higher salaries, you have more room to specialize in a specific ML area, and it can add more weight to your resume.</p><p>Job fairs and conferences can also be useful, but I believe it&#8217;s more efficient to research and contact companies online.</p><h3>Resume</h3><p>Keep it simple. </p><p>Add your essential contact information, tech jobs, and one or two bullet points with your most impressive ML projects. Aim for half a page. A concise resume makes you stand out and look confident.</p><p>Whatever you do, don&#8217;t refer to yourself as an ML enthusiast, add jargon, nor make the resume more than one page. </p><h3>Email Templates for Contacting Startups</h3><p>Email the company's founder and CEO and send two follow-up emails one week apart if they don't reply. Don&#8217;t worry if the companies have open positions or not. Email them anyway.</p><p>Here&#8217;s a rough template:</p><p><code>Title: Entry-level ML positions  </code></p><p><code>Hi John,  </code></p><p><code>I hope you&#8217;ve had an excellent week so far!  </code></p><p><code>I first saw your product on Product Hunt. I loved the user interface, and I was impressed by the quality of the generative model. I&#8217;m currently looking for an entry-level ML position. </code></p><p><code>I&#8217;ve made open source contributions to PyTorch and ranked in the top 5% in a popular image segmentation competition on Kaggle. You can find more details in my portfolio [github] and [linkedin] here.  </code></p><p><code>If you have any opportunities at [company] or know anyone else hiring, please let me know.  </code></p><p><code>Cheers, Jane</code></p><h2>Interview Prep</h2><p>Don&#8217;t worry about this too much. </p><p>Your portfolio should do the heavy lifting for the companies you are targeting. They will focus on your portfolio and ask questions about your work. Some might give you a take-home exam or do a simple technical interview to ensure you haven&#8217;t faked your resume.</p><blockquote><p>Get the basics right. </p></blockquote><p>Practice telling about yourself concisely in 30 seconds and a 30 seconds overview for each of your critical projects. And do some of the easy <a href="https://leetcode.com/">LeetCode</a> questions in Python. Then, ask your friends for light, practical interviews to get into the flow.</p><p>Once you start your outreach and interviews, you can use the gaps and breaks to brush up on StatQuests' <a href="https://www.youtube.com/watch?v=qBigTkBLU6g&amp;list=PLblh5JKOoLUK0FLuzwntyYI10UQFUhsY9">the Basics (of statistics)</a> and <a href="https://www.youtube.com/watch?v=Gv9_4yMHFhI&amp;list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF">Machine Learning</a>. </p><p>You&#8217;ll have interviews that are theory-heavy where you will fail. But that&#8217;s okay. </p><p>Once you&#8217;ve worked for a few companies, and you are looking to apply to popular positions at large companies, then it&#8217;s worth doing a <a href="https://huyenchip.com/ml-interviews-book/">longer interview preparation</a>.</p><p>For companies you like, research their problems for a few hours and get data on how they are most likely solving their problems. Having specific questions and the ability to discuss their problems in detail will make you come across as a peer. </p><blockquote><p>&#8216;Mozilla has a very interesting interview process. For individual contributors, you simulate a day of work and try to understand how they would perform.&#8217; - <a href="https://dshiring.com/">Julie Hollek, Mozilla</a></p></blockquote><h2>Plan B</h2><p>If you&#8217;ve identified and contacted 10-30 companies each week for three months, you should have a few offers or be in the late interviewing stages. If you don't have any warm leads, you want to explore a plan B.</p><p>It&#8217;s also worth looking for plan B options from day one. This can give you extra confidence and reduces the risk of lost income.</p><p>If you had interviews with 5-10 companies, that&#8217;s often a sign that you are close to landing a job. That could mean that you can make one or two shorter projects targeting specific companies. And continue your outreach for another one or two months.</p><p>If you have less than five interviews and you fell out after the first phone screening or first interview, that&#8217;s a sign that you need to rethink. Getting into ML is hard, especially if you are self-taught.</p><p>Here are a few options worth considering:</p><ul><li><p>Apply for software roles closely related to machine learning</p></li><li><p>Apply for software roles in companies that do a lot of ML</p></li><li><p>Apply for developer advocacy and content marketing roles in ML companies</p></li><li><p>Apply for product manager and analytic roles related to ML</p></li><li><p>Bid on ML contracting opportunities or software projects related to ML</p></li></ul><p>If you still have motivation and income left, aim to create the base portfolio projects mentioned earlier.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/intent/user?screen_name=EmilWallner&quot;,&quot;text&quot;:&quot;Follow Emil Wallner on Twitter&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://twitter.com/intent/user?screen_name=EmilWallner"><span>Follow Emil Wallner on Twitter</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.emilwallner.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.emilwallner.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h1>Part Nine &#8594; The Key Points</h1><ul><li><p><strong>Self-learning ML</strong></p><ul><li><p>Efficient self-learning is similar to apprenticeships.</p></li><li><p>Starting with software engineering reduces your chances of failure.</p></li><li><p>Free peer-to-peer CS schools are my preferred way to learn to program.</p></li><li><p>FastAI and Kaggle&#8217;s 30 days have practical and efficient curricula.</p></li><li><p>Creating a solid portfolio requires more focus and effort than passively taking online courses. You need rigorous work habits to progress.</p></li></ul></li><li><p><strong>Hireability</strong></p><ul><li><p>Most employers don&#8217;t value certificates, online courses, and common projects.</p></li><li><p>Online courses are excellent learning resources, but completing online courses seldom makes candidates more attractive to employers. </p></li><li><p>Employers hire self-learners based on validated real-world results.</p></li><li><p>Avoiding popular tech positions and search for small companies, companies with specific needs, and organizations with practical interviews. </p></li></ul></li><li><p><strong>Portfolio</strong></p><ul><li><p>Result-based portfolio projects have three components: a metric or testimonial, a context, and third-party validation.</p></li><li><p>Publishing papers, machine learning competitions, and contributing to open source projects are the safest portfolio projects.</p></li><li><p>The second best portfolio options are creating live ML products, collaborating with people in the industry, and developing ML content with high engagement.</p></li><li><p>Shorter portfolio projects targeting a specific industry are great for standing out in the interview process.</p></li><li><p>Improving promising existing projects often created better results than coming up with gut project ideas.</p></li></ul></li></ul><p>Thanks to everyone who read drafts of this article! A special thanks to Miha Jenko, Micha&#235;l Trazzi, Curt Tigges, Richmond Alake, Nathan Waters, Ravi Chandra Veeramachaneni, Fabrizio Damicelli, Hasan Yaman, Emanuel Ramirez, Ed Campbell, Roy Keyes, Hussein Lezzaik, Utkarsh Malaiya, Priya Joseph, Job Henandez Lara, Agboja David, and Brian Ko.</p><p></p><div><hr></div><h3><strong>If you enjoyed this post and think it will help others, don't hesitate to like it here on Substack and share it. Also, if you have a question or feedback, please leave it in the comments. I reply to all comments. </strong></h3><div><hr></div>]]></content:encoded></item><item><title><![CDATA[How I built a €25K Machine Learning Rig]]></title><description><![CDATA[How to plan, buy, build, and store your 2-10 GPU machine learning servers and PCs]]></description><link>https://www.emilwallner.com/p/ml-rig</link><guid isPermaLink="false">https://www.emilwallner.com/p/ml-rig</guid><dc:creator><![CDATA[Emil Wallner]]></dc:creator><pubDate>Tue, 06 Apr 2021 04:30:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YSpm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Below is my first beauty. </p><p>It has 4 NVIDIA RTX A6000 and an AMD EPYC 2 with 32 cores, including 192 GB in GPU memory and 256GB in RAM (<strong><a href="https://docs.google.com/spreadsheets/d/1VMtiLZbgLAChKscBAbC1VovVwsI_8Y0BBAW8R06rc5I/edit?usp=sharing">part list</a></strong>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YSpm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YSpm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YSpm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:774247,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YSpm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YSpm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2848c4e-68c5-49c4-980e-a6ea8030aa6e_1500x1125.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></figure></div><p>Let&#8217;s begin.</p><h3>GPUs</h3><p>Until AMD&#8217;s GPU machine libraries are more stable, NVIDIA is the only real option. Since NVIDIA&#8217;s latest Ampere microarchitecture is significantly better than the previous generation, I&#8217;ll only focus on Ampere GPUs. </p><p>NVIDIA has three broad GPU types: </p><ul><li><p><strong>Consumer</strong>: (RTX 3080 / RTX 3090)</p></li><li><p><strong>Prosumer</strong>: (A6000)</p></li><li><p><strong>Enterprise</strong>: (A100)</p></li></ul><p>There are a few convenient GPU amounts per rig and consumer class: </p><ul><li><p><strong>Consumer</strong>: two RTX 3080s/RTX 3090s</p></li><li><p><strong>Prosumer</strong>: four A6000s</p></li><li><p><strong>Enterprise</strong>: </p><ul><li><p>8 A100 or A6000 (PCIe), </p></li><li><p>16 A100s (SXM4), and</p></li><li><p>20 A100 (PCIe-based modular blade nodes). </p></li></ul></li></ul><p>You can work around these limits, but it increases risk, reliability, and convenience.</p><p></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.buymeacoffee.com/emilwallner&quot;,&quot;text&quot;:&quot;Buy me a coffee! &#9749;&#65039;&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.buymeacoffee.com/emilwallner"><span>Buy me a coffee! &#9749;&#65039;</span></a></p><div><hr></div><h3>Constraints For Consumer GPUs</h3><p>Let&#8217;s outline a few of the limitations for the consumer and prosumer cards.</p><p>Main limits:</p><ul><li><p>Motherboard limit with PCIe risers: 14 GPUs (x8 Gen 4.0 per GPU)</p></li><li><p>Consumer electricity limit per socket: 8 GPUs (4 in the US) </p></li><li><p>Consumer power supply limit: 5 GPUs (2000W)</p></li><li><p>Standard PC case size: 4 dual-slot GPUs</p></li></ul><p>Space and environment limits: </p><ul><li><p>Stacking cards next to each other: 4 A6000/3070 or 2 3080/3090</p></li><li><p>Shared office sound and heat limit: 2 GPUs (preferably water-cooled) </p></li><li><p>Consumer supply per customer: 1 GPU (most stores will only allow you to buy one consumer GPU, and they are only generally available 3-12 months after launch)</p></li></ul><p><a href="https://www.emilwallner.com/p/bellyflopping-nvidias-rtx-3090-release">I tried to buy 5 RTX 3090</a>, but after waiting four months due to supply issues, I opted for four RTX A6000. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tuty!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tuty!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tuty!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tuty!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tuty!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tuty!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg" width="1456" height="898" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:898,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:765993,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tuty!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tuty!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tuty!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tuty!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7f28690-2b94-407e-8a76-fb47ae05d449_1500x925.jpeg 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><a href="https://lambdalabs.com/blog/deep-learning-hardware-deep-dive-rtx-30xx/">According to Lamda Labs</a> and <a href="https://www.pugetsystems.com/labs/articles/Quad-GeForce-RTX-3090-in-a-desktop---Does-it-work-1935/">Puget Systems</a>, the 3080 and 3090 dual-slot blower editions are too hot to reliable fit four next to each other on a standard-sized motherboard. Thus you need PCIe risers, a water-cooled rig, or cap the power usage. </p><p>Using PCIe risers in an open-air rig exposes the hardware to dust. A water-cooled rig requires maintenance and has a risk of leaking during transportation. <a href="https://www.pugetsystems.com/labs/articles/Quad-GeForce-RTX-3090-in-a-desktop---Does-it-work-1935/">Capping power usage</a> is non-standard and could lead to unreliability and performance loss. </p><p>For 3+ GPU rigs, many opt for cards that consume 300W or less, so the RTX 3070 and down or A6000 and up.</p><p>Most of today&#8217;s models are designed for 16GB cards since the most mainstream cloud GPUs have 16 GB GPU memory, and we are shifting towards 40 GB. Thus, the cards with the lowest memory will see an increased overhead in rewriting software to accommodate a lower memory limit. </p><h4>Why do I see 8-GPU consumer rigs online?</h4><p>The 5+ GPU consumer rigs people see online are often crypto-rigs with multiple power sources. </p><p>Since crypto-rigs don&#8217;t need high bandwidth, they use <a href="https://cryptomining-blog.com/tag/pci-e-usb-riser/">specific USB adapters</a> to connect the GPU. It&#8217;s an adapter that transfers the data without electricity. Thus, the GPU and motherboard&#8217;s power is separated, which reduces the problem of mixing circuits.</p><p>However, the adapters are often of poor quality, and a small soldering error can both destroy your hardware and catch fire. And they are especially not recommended for ML rigs that require PCIe risers that enable 75W of power. </p><p>Crypto rigs also use mining power supplies from Alibaba with poor standards or retrofit enterprise power supplies. Since people tend to place them in garages or containers, they accept the added safety risk. </p><div><hr></div><h3>Prosumer and Enterprise Features</h3><p>For the Ampere series, NVIDIA makes it hard to use high-end consumer cards for workstations with more than 2 GPUs. The 3-slot width, high wattage, and seeing several manufactures discontinue the 2-width blower edition of the 3090 &#8212; all indicate this. </p><p>Thus, the prosumer and enterprise Ampere cards' key selling point is support for 3+ GPU rigs with 24/7/365 workloads.</p><p>The pro-consumer and enterprise cards have a few additional features.</p><p>Main features (compared to RTX 3090):</p><ul><li><p>1.1 - 2 times faster (depending on GPU, binary floating-point formats, and model)</p></li><li><p>1.7 - 3.3 times more memory</p></li><li><p>Less energy consumption (better for stacking cards)</p></li><li><p>Datacenter deployment (non-profits can gain permission for consumer cards)</p></li></ul><p>Nice to have features: </p><ul><li><p>ECC memory (error-proof memory)</p></li><li><p>Multiple users per GPU, MIG (only enterprise cards)</p></li><li><p>Faster GPU-to-GPU communication, NVSwitch (A100 SXM4)</p></li></ul><p>The 80GB GPUs will give you an edge for specific models, but it&#8217;s hard to say if they have enough compute to effectively benefit from the massive models. The safest option is the 40GB version. However, it&#8217;s hard to ignore the bragging rights that come with 80GB GPUs.</p><p>In general, I don&#8217;t think in terms of NLP, CV, or RL-specific workloads. They will vary in performance, but since the machine learning landscape is shifting so fast, it&#8217;s not worth over-optimizing for a specific workload. </p><p>For a more in-depth comparison, read Tim Dettmers&#8217; <a href="https://timdettmers.com/2020/09/07/which-gpu-for-deep-learning/">go-to GPU guide</a>. Pay extra attention to the Tensor Core overview, sparse training, capping GPU wattage, and low-precision computation. </p><p></p><h3>Server Constraints</h3><p>While the power supply caps the consumer rigs, server rigs are constrained in weight, case size, and networking overhead.</p><p>Main limits:</p><ul><li><p>Server with consumer parts: 4 PCIe GPUs</p></li><li><p>PCIe server case limit: 10 dual-slot GPUs (the width of a standard server)</p></li><li><p>Transporting a server manually: 10 PCIe GPUs or 4 SMX4 GPUs (30kg)</p></li></ul><p>Additional limits:</p><ul><li><p>PCIe server case limit with networking: 8 dual-slot GPUs (2 dual-slots for networking)</p></li><li><p>SXM4 server case limit: 16 GPUs (168 kg)</p></li><li><p>PCIe blade server limit: 20 dual-slot GPUs</p></li></ul><p>The key constraint here is networking overhead. As soon as you connect one or more servers, you need <a href="https://slurm.schedmd.com/documentation.html">software</a> and hardware to manage the system. I highly recommend <a href="https://www.youtube.com/watch?v=rfu5FwncZ6s">Stephen Balaban's overview</a> of building GPU clusters for machine learning. </p><p>The second key concern is weight and repairing. </p><p>A server with eight SXM4 sits at around 75kg. Thus you ideally need a server lift. The SXM4 can be hard to repair than the more standard parts that come with a PCIe server. </p><p>The A100 and A6000 also have versions without a built-in fan. These need a server case with a dozen 10K+ RPM fans. These will make them more fault-tolerant since you can hot-swap the fans.  </p><div><hr></div><h3>Speed Benchmarks</h3><p>Lambda Labs has the best <a href="https://lambdalabs.com/blog/tag/benchmarks/">per GPU benchmarks</a> and <a href="https://lambdalabs.com/gpu-benchmarks">overall benchmark</a>. </p><p>The benchmark is the average of several models using PyTorch with half-precision. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b7ib!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b7ib!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b7ib!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg" width="1426" height="760" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1426,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125587,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b7ib!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b7ib!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5e793794-2154-4994-b5b3-e8e5054d48b6_1426x760.jpeg 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">FP16 PyTorch Lambda Labs Benchmark</figcaption></figure></div><p>In terms of speed, the A100 is 1.4 times faster than the A6000. But the A6000 is 1.2 faster than the 3090, and twice as fast as the 3080. </p><p>The other noteworthy benchmark is the comparison between PCIe and SXM4. NVIDIA&#8217;s A100 PCIe can only connect to another GPU, while NVIDIA&#8217;s A100 SXM4 can simultaneously connect to 8 - 16 GPUs.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VaWB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VaWB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VaWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg" width="1456" height="183" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/eb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:183,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66332,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VaWB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VaWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb282362-49d6-4708-ae9d-9903a8d9a767_1848x232.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">F16 PyTorch w/ 8 GPUs Lambda Labs Benchmark</figcaption></figure></div><p></p><p>NVIDIA&#8217;s NVswitch and SXM4 have 10x faster bandwidth in theory, but in an 8-GPU setting, it&#8217;s only 10% faster when compared to PCIe solutions. Since the SXM4 is 8% faster on a per GPU basis, the NVswitch has a marginal impact. </p><p>It should be a marginal difference up to an 8-GPU system. According to Lamda Labs&#8217; <a href="https://www.youtube.com/watch?v=rfu5FwncZ6s&amp;ab_channel=Lambda">CEO</a>, they can see a 2x improvement for certain use cases in larger clusters. Hence, it&#8217;s directed chiefly for multiple 8-GPU systems. It&#8217;s also worth looking into the DGX A100 SuperPOD system at the scale of several hundred GPUs.</p><p>Also, in networking benchmarks, pay attention to GB/s (Gigabytes) and Gb/s (Gigabits). GB/s is eight times faster than Gb/s.</p><div><hr></div><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LcQ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LcQ-!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 424w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 848w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 1272w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LcQ-!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif" width="360" height="640" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12849332,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LcQ-!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 424w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 848w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 1272w, https://substackcdn.com/image/fetch/$s_!LcQ-!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11f7eef-3c80-4d0e-97d1-7c86d818ddf6_360x640.gif 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">Testing my ML build for the first time</figcaption></figure></div><p></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.buymeacoffee.com/emilwallner&quot;,&quot;text&quot;:&quot;Buy me a cold beer! &#127866;&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.buymeacoffee.com/emilwallner"><span>Buy me a cold beer! &#127866;</span></a></p><div><hr></div><h3>GPU Pricing</h3><p>The pricing is approximated for the actual retail price, rounded for simplification, and without VAT and discounts. </p><p>Enterprise:</p><ul><li><p>A100 SMX4 (80 GB): &#8364;18k </p></li><li><p>A100 SMX4 (40 GB): &#8364;13k </p></li><li><p>A100 PCIe (40 GB): &#8364;9k</p></li></ul><p>Prosumer and consumer:</p><ul><li><p>RTX A6000 / A40 (48GB): &#8364;4500k</p></li><li><p>RTX 3090 (24 GB): &#8364;1500-2000</p></li><li><p>RTX 3080 (10 GB): &#8364;800-1300</p></li><li><p>RTX 3070 (12 GB): &#8364;700-1000</p></li></ul><p>NVIDIA also provides startup and education discounts so that you can <a href="https://web.archive.org/web/20210220133707/https://info.nvidia.com/rs/156-OFN-742/images/NPN_NVIDIA_RTX_A6000_A40_20201201.pdf">save 15-30% per GPU</a>. For startups, apply to the <a href="https://mynvidia.force.com/Inception/s/regform">inception program</a>. In total, it takes about one week to get the discounts. </p><p>I saved around &#8364;4k on my 4 x RTX A6000 by building it and NVIDIA GPU discounts.</p><p>The SMX4 cards are sold as part of an 8 GPU server, so the per GPU pricing is a rough approximation due to the custom GPU-to-GPU communication that makes it more expensive.</p><p></p><p></p><h4>Machine Learning Rig Tiers</h4><p>These are estimated pre-built prices without discounts and VAT. </p><p>High-growth startups, large research labs, and enterprise: </p><ul><li><p><strong>&#8364;240-340k</strong>: 8 x A100 SXM4 (80 GB)</p></li><li><p><strong>&#8364;120-170k</strong>: 8 x A100 SXM4 (40 GB)</p></li></ul><p>Startups, research labs, and SMEs:</p><ul><li><p><strong>&#8364;90k:</strong> 8 x A100 PCIe (40 GB)</p></li><li><p><strong>&#8364;50k:</strong> 4 x A100 PCIe or 8 x RTX A40 (fanless RTX A6000)</p></li><li><p><strong>&#8364;25k:</strong> 4 x RTX A6000 (<strong>&#8364;</strong>21K if you build it and with GPU discounts)</p></li><li><p><strong>&#8364;25k:</strong> 4 x RTX 3090 (Liquid cooling)</p></li><li><p><strong>&#8364;15k:</strong> 4 x RTX 3090 (Crypto-style or capped perfomance)</p></li></ul><p>Students, hobbyist, consultants:</p><ul><li><p><strong>&#8364;10k:</strong> 4 x RTX 3070</p></li><li><p><strong>&#8364;7k:</strong> 2 x RTX 3090</p></li><li><p><strong>&#8364;5k:</strong> 1 x RTX 3090 or 2 x RTX 3080</p></li><li><p><strong>&#8364;4k:</strong> 1 x RTX 3080</p></li><li><p><strong>&#8364;3k:</strong> 1 x RTX 3070</p></li></ul><p>Budget is one aspect, but the key concern is where you place it. </p><p>When you start, you often have the machine in the same room and cope with the inconvenience.</p><p>As you scale, you&#8217;ll need more infrastructure. You might move it to a separate office room and later put it in a data center, starting with collocation and then climbing from tier 1 to 4 data centers for added fault tolerance. </p><p>I find <a href="https://soundcloud.com/emil-wallner-915098314/4-a6000-sound/s-jmeUtZg3Z1L">4 GPUs too loud</a> and generate too much heat to have in an office or at home without proper cooling. Here&#8217;s a <a href="https://www.youtube.com/watch?v=mvBeCSaaDxA&amp;ab_channel=PugetSystems">quick benchmark</a> by Puget Systems. Think, a small leaf blower with hot air, equal to a 1600W radiator. </p><p>The starting price of a data center collocation is around &#8364;80-250 per GPU and month, including &#8364;25 per GPU in electricity charges. You can ask for a quote from all your <a href="https://www.datacentermap.com/quote.html">local data center collocations here</a>. If you plan on running workloads 24/7/365 on 4+ GPUs, I highly recommend it. </p><p>You can easily buy parts for a 4 GPU server, similarly to a PC. A <a href="https://www.thinkmate.com/system/a+-server-4124gs-tnr">barebone 5+ GPU ML server</a> will cost around &#8364;7k. </p><div><hr></div><h3>CPU </h3><p>Go with AMD. </p><p>AMD has 5x more internal bandwidth compared to Intel. And it&#8217;s both cheaper and better. A majority of the Ampere ML servers use AMD.</p><p>AMD has three main CPU types:</p><ul><li><p><strong>Consumer</strong>: (<a href="https://en.wikipedia.org/wiki/Ryzen">Ryzen 5000</a> with AM4 socket) and, </p></li><li><p><strong>Prosumer</strong>: (<a href="https://en.wikipedia.org/wiki/Ryzen">Ryzen Threadripper</a> 3rd Gen with sTRX4, and the sWRX8 socket for the 1st Gen Pro version)</p></li><li><p><strong>Enterprise</strong>: (<a href="https://en.wikipedia.org/wiki/Epyc">EPYC</a> 2 with the SP3 socket)</p></li></ul><p>For a 1-GPU system, Ryzen is excellent, and for systems between 2-4 GPU PCs, go with the Threadripper. For 5+ GPU systems and server builds, go with EPYC. </p><p>Threadripper is faster than EPYC, but EPYC has twice the memory channels, RDIMM, and requires less energy. If you plan to use your computer as a server, I&#8217;d go with EPYC. </p><p>I ended up with an AMD EPYC 2 Rome 7502P with 32 Cores. For the processors, I used eight cores per GPU as a rough guideline. Also, pay attention to if they support single, dual, or both processor setups.</p><h4>CPU Cooling</h4><p>For cooling, Noctua fans are the quietest, most performant, and reliable. However, I find the brown color scheme rather ugly. They are also big, so make sure they fit with your RAM and chassis. </p><p>For RGB fans, I enjoy Corsair&#8217;s All-in-one (AIO) liquid CPU coolers. They bring life. The colors are programmable, and the system frees up space around the CPU. They use antifreeze liquid, and the leak risk is tiny.</p><p>All Threadripper and EPYC CPUs have the same size, making the coolers compatible, but you might need a mounting bracket. Also, check that the cooler supports the wattage of the CPU you choose. </p><p>Anyways, here are my top pics:</p><ul><li><p><strong>Ryzen 5000: </strong>Noctua NH-D15 or Corsair H100i RGB PLATINUM</p></li><li><p><strong>Threadripper:</strong> Noctua NH-U14S TR4-SP3 or Corsair Hydro Series H100x</p></li><li><p><strong>EPYC: </strong>Dynatron A26 2U (for servers)</p></li></ul><p>I avoid custom liquid cooling due to cost, maintenance, freezing risk, transport risk, and lack of flexibility. </p><div><hr></div><h3>Motherboard</h3><p>Here are a few motherboards worth considering for AMD :</p><ul><li><p><strong>Ryzen 5000</strong>: MSI PRO B550-A PRO AM4 (ATX)</p></li><li><p><strong>Threadripper 3rd Gen</strong>: ASRock TRX40 CREATOR (ATX)</p></li><li><p><strong>Threadripper Pro</strong>: ASUS Pro WS WRX80E-SAGE SE (ETAX)</p></li><li><p><strong>EPYC 2</strong>: AsRock ROMED8-2T (ATX) (<strong>My motherboard</strong>)</p></li></ul><p>My principal deciding factors were the PCIe slots and IPMI. </p><p>If you plan on using your ML rig as a regular PC and want built-in support for, say, WIFI,  headphone jack, microphone jack, and sleep functionality &#8212; you are best off with a consumer or prosumer motherboard. </p><p>In my case, I went with a dual-usage prosumer/server motherboard with support for remote handling or Intelligent Platform Management Interface (IPMI). Via an Ethernet connection and web GUI, I can install the OS, turn it on/off, and connect to a virtual monitor. An IPMI is ideal if you plan to use it 24/7/365. </p><p>CPU sockets have a built-in chipset, and the prosumer and consumer cards have additional chipsets to enable specific CPUs or features, for example, B550 for the Ryzen and TRX40 for the Threadripper.</p><p>For Ryzen 5000 builds it&#8217;s ideal to have a BIOS flash button. Otherwise, you need an earlier Gen Ryzen CPU to update the BIOS to be compatible with Ryzen 5000. </p><p>5+ GPU <a href="https://www.supermicro.com/en/products/motherboard/H12DSG-O-CPU">server-only motherboards</a> are hard to buy separately. While consumer setups are modular, larger server builds are integrated. </p><h4>Motherboard sizes</h4><p>The standard size of a motherboard is ATX, it&#8217;s 305&nbsp;&#215;&nbsp;244&nbsp;mm, and works great for both server chassis and PCs. I mostly look at ATX boards, the standard size, to avoid any chassis spacing issues.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b4Pw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b4Pw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b4Pw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:206681,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b4Pw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b4Pw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd949816c-9b39-4c7b-9578-495444fb28ad_1974x1363.jpeg 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>Some of the other form factors vary in size <a href="https://en.wikipedia.org/wiki/ATX">depending on the manufacturer</a> so that you will be more limited in terms of chassis. It&#8217;s not a big deal for consumer chassis, but for server chassis, you don&#8217;t what the height to be more than the ATX&#8217;s 305 mm.</p><div><hr></div><h3>PCI Express (PCIe)</h3><p>Below is the motherboard I went with, the AsRock ROMED8-2T (ATX)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_xFY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_xFY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_xFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1483003,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_xFY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_xFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2848789c-6b62-45d0-a59b-6f4a4871c5d1_1556x872.jpeg 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>The important thing to look for is the PCIe slots, where you plug the GPUs, the vertical gray slots above. Above, you have seven single-width slots.</p><p>The connection will be to the far right of the GPU. As you see, it&#8217;s a tight gap between the RAM slots and the first GPU.</p><p>When you have four dual-width GPUs on a 7-slot board, the 4th GPU will exceed the board's bottom. Thus, you need a PC or server chassis that supports 8 PCIe extension slots. </p><p>For two RTX 3090 triple-slot cards, you&#8217;d have the first card cover the first three PCIe slots and empty slot and have the second GPU cover the last three slots.</p><p>If you plan to buy an NVlink to connect two GPUs, they often come in 2-slot, 3-slot, and 4-slot versions. In the picture, you&#8217;d need two 2-slot bridges. For the triple-slot cards with a gap in between, you&#8217;d need a 4-slot bridge: the width of the card, 3-slot, plus the 1-slot gap.</p><p>There are a few things worth knowing about PCIe slots:</p><ul><li><p><strong>PCIe physical length</strong>: it&#8217;s x16 per slot in the picture, the standard for GPUs, which is 89 mm.</p></li><li><p><strong>PCIe bandwidth</strong>: sometimes, you have the length of an x16 slot, but only half has pins that connect it to the motherboard, making it an x16 slot with x8 bandwidth. For reference, crypto-rigs will use x16 adapters but with x1 bandwidth.</p></li><li><p><strong>Generation speed</strong>: The above board is Generation 4.0. Each generation tends to be twice as fast as the previous generation. NVIDIA&#8217;s latest GPUs are Gen 4.0 but have comparable performance on Gen 3.0 boards in practice. </p></li><li><p><strong>Multiple GPU requirements</strong>: For 4-10 GPU systems, most recommend at least x8 Gen 3.0 per GPU. </p></li></ul><h4>PCIe lanes</h4><p>Another thing most people look for is the total amount of PCIe lanes, the total internal bandwidth. It gives you a rough indication of the networking, storage, and multiple GPU capacity. </p><p>Motherboard manufacturers can use PCIe lanes to prioritize certain features, such as storage, PCIe slots, CPU-to-CPU communication, etc. </p><p>For reference, one GPU will use x16 lanes, a 10 GB/s ethernet port uses x8 lanes, and an NVMe SSD will use x4 lanes.</p><p>Here&#8217;s what AMD&#8217;s chipsets enable:</p><ul><li><p><strong>Ryzen 5000</strong>: 20 PCIe lanes Gen 4.0</p></li><li><p><strong>Threadripper 3rd Gen:</strong> 88 PCIe lanes Gen 4.0</p></li><li><p><strong>Threadripper Pro 1st Gen:</strong> 128 PCIe lanes Gen 4.0</p></li><li><p><strong>EPYC 2:</strong> 128 PCIe lanes Gen 4.0</p></li></ul><div><hr></div><h3>Chassis</h3><p>The most used ML workstation chassis is <a href="https://www.amazon.fr/Corsair-Carbide-Bo%C3%AEtier-Fen%C3%AAtr%C3%A9-Airflow/dp/B00D6GINF4/ref=sr_1_1_sspa?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;dchild=1&amp;keywords=Corsair+Carbide+Air+540&amp;qid=1617616069&amp;s=computers&amp;sr=1-1-spons&amp;psc=1&amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyREJQMVhSREQ5WEcwJmVuY3J5cHRlZElkPUEwNTE3MjkwSjRPTUxKR0gwU00xJmVuY3J5cHRlZEFkSWQ9QTA0MTk5MTUzTlE0VVFZUU40NTJJJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==">Corsair Carbide Air 540</a>, and for consumer servers, the <a href="https://www.amazon.fr/dp/B00C8GQGEI?ref_=pe_3044141_319369301_E401_E_dt_1">Chenbro Micom RM41300-FS81</a>. From a sound, dust, and transportation point of view, these two cases are ideal. Both will <a href="https://i.imgur.com/E87I7BIl.jpg">house the RTX 3090</a>, but you need a rear-end power connector for the Chenbro. </p><p>I started with the <a href="https://www.thermaltake.com/core-p5-tempered-glass-edition.html">Thermaltake Core P5 Tempered Glass Edition</a>. From an ascetic angle, it&#8217;s the best. But it&#8217;s rather clunky and not ideal for dust. Given the GPUs' heat and noise, I decided to convert it into the server with the Chenbro chassis and put it in a data center.</p><p>Space between the GPUs will have more impact than the main chassis airflow. If you are going for 3+ 3080/3090, you want to look into open-air crypto-rig setups. However, these are both very noisy and vulnerable to dust.  Ideally, you want to put it in a sound-isolated room with cooling and dust filters. </p><p>The Chenbro chassis has two 120 mm 2700 RPM fans on the lid, which creates an excellent airflow for the GPUs. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ii_A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ii_A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ii_A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg" width="1456" height="1897" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1897,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2154295,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ii_A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ii_A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66064a90-52bc-49b9-b32a-709b7ae59b81_1500x1954.jpeg 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><h4>PSU, RAM, and Storage</h4><p>When you have the GPU, CPU, motherboard, and chassis &#8212; the rest of the components are easy to pick.</p><ul><li><p><strong>Power Supply:</strong> For power supply, I looked at the two suppliers considered the best, EVGA and Corsair. I added the total GPU wattage, an extra 250W, and a margin. Here&#8217;s a more accurate <a href="https://www.newegg.com/tools/power-supply-calculator/">calculator</a>. I ended up with the EVGA&nbsp;SuperNOVA 1600W T2. </p></li><li><p><strong>RAM: </strong>I looked at what the motherboard provider recommended and bought something that I could easily buy online. It&#8217;s recommended to fill the available slots with RAM, and I wanted the RAM to match or exceed the GPU memory. According to <a href="https://timdettmers.com/2018/12/16/deep-learning-hardware-guide/">Tim Dettmers</a>, the RAM speed has little impact on the overall performance. I went with 8 x Kingston 32GB 3200MHz DDR4 KSM32RD4/32ME, so 256 GB. </p></li><li><p><strong>NVMe SSDs: </strong>I checked the highest-rated SSDs on <a href="https://pcpartpicker.com/">PCpartpicker</a> and <a href="https://www.newegg.com/">Newegg</a>. I used 0.5 TB per GPU as a guideline with PCIe Gen 4.0. I grabbed two 2 TB Samsung 980 Pro 2 to M.2 NVMe. </p></li><li><p><strong>Hard drives:</strong> I used the same strategy as my SSD, but 6 TB per GPU for slow storage. This ended up being 2 x 12 TB Seagate IronWolf Pro, 3.5'', SATA 6Gb/s, 7200 RPM, 256MB cache. For a more rigorous benchmark, you can study the <a href="https://www.backblaze.com/blog/backblaze-hard-drive-stats-q2-2020/">disk failure rates</a>. </p></li><li><p><strong>NVlink:</strong> It&#8217;s a nice-to-have that can improve performance by <a href="https://www.pugetsystems.com/labs/hpc/RTX-2080Ti-with-NVLINK---TensorFlow-Performance-Includes-Comparison-with-GTX-1080Ti-RTX-2070-2080-2080Ti-and-Titan-V-1267/">a few percent</a> on specific workloads. It does not combine the memory of two GPUs to a single memory, it&#8217;s just confusing marketing. </p></li></ul><div><hr></div><h3>Purchases</h3><p><a href="https://pcpartpicker.com/">PCpartpicker</a> and <a href="https://www.newegg.com/">Newegg</a> are the most user-friendly price comparison tools. </p><p>Nowadays, if I can&#8217;t find it on Amazon, I think twice before buying something. Roughly 30% of the lesser-known stores gave me a headache. </p><p>A few examples:</p><ul><li><p>Many stores don&#8217;t have the products they list online (5 stores)</p></li><li><p>The stores forgot my order, and I had to follow up for 3-9 weeks (3 stores)</p></li><li><p>One store sent me an order they had canceled and then charged me several hundred euros for the return (1 store)</p></li><li><p>One store didn&#8217;t send me the product for one month, and instead of making a refund, they gave me a voucher (1 store)</p></li><li><p>The customer service is either poorly automated or bad to the extent that it makes it unbearable to solve any issues (6 stores)</p></li></ul><p><a href="https://www.pny.eu/en/company/where-to-buy/1-france/11-datacenter---hpc-ai">PNY lists</a> the retailers of prosumer and enterprise cards. I reached out to all of the 20 suppliers in France. 50% didn&#8217;t reply. Of the replies, 60% didn&#8217;t have the latest cards, and from the quotes I got, the price varied between 5-10%. In France, <a href="https://www.carri.com/">CARRI systems</a> had the best price and good customer service. </p><h4>Build lists</h4><p>PCpartpicker has more than <a href="https://pcpartpicker.com/builds/#g=499,497,494,492,493,432,441&amp;sort=recent&amp;page=1">40 000 builds with the RTX 30 series</a>, although most are with 1 GPU, some 2-GPU rigs, but nothing with 3+. </p><ul><li><p><a href="https://docs.google.com/spreadsheets/d/1VMtiLZbgLAChKscBAbC1VovVwsI_8Y0BBAW8R06rc5I/edit?usp=sharing">Four RTX A6000 Workstation and Server, EPYC 2</a> (my build)</p></li><li><p><a href="https://l7.curtisnorthcutt.com/the-best-4-gpu-deep-learning-rig">4 x RTX 2080</a> (Curtis will soon release a 4 RTX 3090 build)</p></li><li><p><a href="https://au.pcpartpicker.com/list/8KXXjp">Titan RTX, Intel</a> (Article by <a href="https://www.mrdbourke.com/notes-on-building-a-deep-learning-pc/">Daniel Bourke</a>)</p></li><li><p><a href="https://pcpartpicker.com/b/h6DxFT">Titan RTX, Threadripper</a> (<a href="https://towardsdatascience.com/building-a-5-000-machine-learning-workstation-with-an-nvidia-titan-rtx-and-ryzen-threadripper-46c49383fdac">Article by Jeff Heaton</a>)</p></li><li><p><a href="https://pcpartpicker.com/user/learnedvector/saved/#view=f4c8Jx">RTX 2080 Ti, Intel</a> (<a href="https://www.youtube.com/watch?v=Utwnm2kjYAM&amp;ab_channel=TheA.I.Hacker-MichaelPhi">Video by Michael Phi</a>)</p></li><li><p><a href="https://pcpartpicker.com/list/kCQ7Cz">Two RTX 3090, Ryzen</a> (<a href="https://www.reddit.com/r/deeplearning/comments/k00ist/dual_rtx_3090_workstations_review/">source</a>)</p></li><li><p><a href="https://pcpartpicker.com/b/nyZfrH">One RTX 3090, Threadripper</a></p></li><li><p><a href="https://pcpartpicker.com/b/V78MnQ">Two RTX 2070, Threadripper, Corsair Air 540</a></p></li><li><p><a href="https://pcpartpicker.com/b/VbGcCJ">One RTX 3090, Threadripper, Thermaltake Core P3</a> (Gorgeous!)</p></li><li><p><a href="https://pcpartpicker.com/b/nR9G3C">Two RTX 3090, Threadripper, Server</a></p></li><li><p><a href="https://pcpartpicker.com/b/mWskcf">One RTX 3080, Ryzen</a></p></li></ul><h4>Pre-built rigs</h4><p>Here are the <a href="https://www.pny.eu/en/company/where-to-buy/1-france/11-datacenter---hpc-ai">providers per region</a> that offer pre-built rigs. </p><p>Here's a list of retailers with transparent pricing:</p><p><strong>EU</strong></p><ul><li><p><a href="https://www.aime.info/en/">Aime</a> (GER)</p></li><li><p><a href="https://www.deltacomputer.com/server/gpu-mic-server.html">Delta</a> (GER)</p></li><li><p><a href="https://www.sysgen.de/gpu-computing/">sysGEN</a> (GER)</p></li><li><p><a href="https://www.novatech.co.uk/workstation/deeplearning/">Novatech</a> (UK)</p></li></ul><p><strong>US</strong></p><ul><li><p><a href="https://lambdalabs.com/">Lambda Labs</a> (US)</p></li><li><p><a href="https://bizon-tech.com/">Bizon</a> (US)</p></li><li><p><a href="https://www.lenovo.com/us/en/think-workstations/thinkstation-p-series-towers/ThinkStation-P920/p/30BCCTO1WWENUS0">Lenovo ThinkStation P920</a> (US)</p></li><li><p><a href="https://www.exxactcorp.com/Deep-Learning-NVIDIA-GPU-Workstations">Exxactcorp</a> (US)</p></li><li><p><a href="https://www.pugetsystems.com/">Puget Systems</a> (US)</p></li></ul><p>If you know of other providers that list prices, <a href="https://forms.gle/8V3isj51yXnGjSip9">please submit them here</a>, and I&#8217;ll add them. </p><div><hr></div><h3><strong>Building and Installing </strong></h3><p>The hard part in building a rig is finding the parts, especially if you are trying to do something unconventional. </p><p>Putting the pieces together and installing them takes less than an hour, but you probably want to spend a few extra hours to be on the safe side.</p><p>I had a <a href="https://www.amazon.fr/gp/product/B077NV5TDM/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&amp;psc=1">mobile repair kit</a> at home that was useful, but you&#8217;ll be okay with a standard screwdriver and a good selection of bits. </p><p>I used the remote management system to install the software. When I plugged the ethernet cable into my router, it assigned it an IP address, then I put the IP address in the browser, and I had access to a web interface to update the BIOS and installed Ubuntu 20.04 LTS.</p><p>I then installed <a href="https://lambdalabs.com/lambda-stack-deep-learning-software">the Lambda Stack</a> for all the GPU drivers and machine learning libraries, etc. I highly recommend it.</p><p>If you are using an IMPI, change the VGA output to internal in the BIOS. Otherwise, you can&#8217;t use the virtual monitor in the IMPI without removing the GPUs. </p><h3></h3><div><hr></div><h3>Conclusion</h3><p>The main reason to own hardware is workflow. To not waste time on cloud savings and encourage robust experimentation. </p><p>You&#8217;ll save money when building a consumer ML rig. If you price your time, the cost savings of building prosumer and enterprise rigs is dubious. However, you&#8217;ll learn a bunch and become a much more educated consumer. Plus, it&#8217;s a valuable skill when all pre-built suppliers are having GPU supply issues. </p><p>Nvidia is making it hard to use high-end consumer cards for 3+ rigs. For a prosumer rig with a server room at home, I&#8217;d go for 4 x 3090 in an open-air rig. And with more limited space, a 2 x 3090 workstation. </p><p>With a larger budget, 4 x RTX A6000 is a good option, but given the noise and heat, I&#8217;d go for a server solution and place it in a data center.  </p><p>The A100 has the most mindshare, but the A6000 / A40 is more value for money. The SMX4 is too clunky and offers a marginal performance gain over the PCIe version.  I&#8217;d like to see a transparent benchmark with a large cluster to see the benefits in practice. </p><p>If you have any questions, <a href="https://twitter.com/emilwallner?lang=en">ping me on Twitter</a>, or drop a comment below. </p><p></p><h3>A Podcast Episode About the ML Rig </h3><div><hr></div><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8adc67590427eeb30983bfdba7&quot;,&quot;title&quot;:&quot;9. Emil Wallner on Building a &#8364;25000 Machine Learning Rig&quot;,&quot;subtitle&quot;:&quot;By Micha&#235;l Trazzi&quot;,&quot;description&quot;:&quot;Podcast episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/1vqQ1tlZGiEH3fRc56vi6J&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/1vqQ1tlZGiEH3fRc56vi6J" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.emilwallner.com/p/ml-rig?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption"></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.emilwallner.com/p/ml-rig?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.emilwallner.com/p/ml-rig?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.buymeacoffee.com/emilwallner&quot;,&quot;text&quot;:&quot;Buy me a coffee! &#9749;&#65039;&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.buymeacoffee.com/emilwallner"><span>Buy me a coffee! &#9749;&#65039;</span></a></p>]]></content:encoded></item></channel></rss>