<?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[:probabl.]]></title><description><![CDATA[:probabl. is the company founded by the creators of scikit-learn. #OwnYourDataScience ]]></description><link>https://probabl.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!YRf-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3065c410-8002-4d87-94ed-398751b22b23_1200x1200.png</url><title>:probabl.</title><link>https://probabl.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 06 Apr 2026 23:09:27 GMT</lastBuildDate><atom:link href="https://probabl.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[:probabl.]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[probabl@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[probabl@substack.com]]></itunes:email><itunes:name><![CDATA[Cailean Osborne]]></itunes:name></itunes:owner><itunes:author><![CDATA[Cailean Osborne]]></itunes:author><googleplay:owner><![CDATA[probabl@substack.com]]></googleplay:owner><googleplay:email><![CDATA[probabl@substack.com]]></googleplay:email><googleplay:author><![CDATA[Cailean Osborne]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The open source tools of enterprise data science: A conversation with Merel Theisen]]></title><description><![CDATA[Marie interviews QuantumBlack's Merel Theisen about building open source tools for enterprise data science teams.]]></description><link>https://probabl.substack.com/p/the-open-source-tools-of-enterprise</link><guid isPermaLink="false">https://probabl.substack.com/p/the-open-source-tools-of-enterprise</guid><pubDate>Tue, 31 Mar 2026 14:03:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bbfaf8db-0bda-44e9-8824-934afff6d5d3_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;59804714-3a8c-4e23-8512-292ea621f461&quot;,&quot;duration&quot;:555.8596,&quot;downloadable&quot;:true,&quot;isEditorNode&quot;:true}"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mqIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mqIX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mqIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png" width="1200" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:375033,&quot;alt&quot;:&quot;Marie Sacksick, Director of Market Intelligence at Probabl, interviews Merel Theisen, Tech Lead of Kedro at McKinsey &amp; Co's QuantumBlack, about how pen source tools like Skore and Kedro drive lasting value for enterprise data science teams.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/192704551?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Marie Sacksick, Director of Market Intelligence at Probabl, interviews Merel Theisen, Tech Lead of Kedro at McKinsey &amp; Co's QuantumBlack, about how pen source tools like Skore and Kedro drive lasting value for enterprise data science teams." title="Marie Sacksick, Director of Market Intelligence at Probabl, interviews Merel Theisen, Tech Lead of Kedro at McKinsey &amp; Co's QuantumBlack, about how pen source tools like Skore and Kedro drive lasting value for enterprise data science teams." srcset="https://substackcdn.com/image/fetch/$s_!mqIX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!mqIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F139053b4-a4a9-4fca-8f53-28c6dc865b3c_1200x627.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>Ask any enterprise data science team what slows them down, and you&#8217;ll probably hear similar answers. Notebooks that work locally but fall apart in production. Pipeline code that only one person truly understands. New hires who spend their first weeks reverse-engineering what the team before them built. Exploring input data and cleaning it. These aren&#8217;t exotic edge cases &#8211; they are the norm.</p><p>This is where open source tools &#8211; from <a href="https://skore.probabl.ai/">Skore </a>by Probabl to <a href="https://kedro.org/">Kedro</a> by QuantumBlack &#8211; are making the difference for enterprise data science teams. This week, I sat down with Merel Theisen, Tech Lead of Kedro at QuantumBlack, to discuss how open source tools drive lasting value for enterprise data science teams.</p><h2><strong>Building for enterprise data science teams</strong></h2><p>At Probabl, we are driven by the conviction that the data science industry is failing enterprises &#8211; not for lack of compute or data, but for lack of rigor and structure. Most models never reach production. Reproducibility remains an aspiration. Knowledge walks out the door with every departing data scientist or engineer. And a generation of automated tools that promise magic instead deliver opacity, technical debt, and lock-in.</p><p>This conviction is inseparable from where we come from. Probabl was founded by the creators and maintainers of scikit-learn, the most downloaded Python library for machine learning. In March 2026 alone, <a href="https://clickpy.clickhouse.com/dashboard/scikit-learn">scikit-learn was downloaded over 200 million times</a>. We don&#8217;t observe the data science world from the outside. Our founders built the open source infrastructure it runs on, and keep doing so. And that history shapes what we do.</p><p>We&#8217;re building for enterprises that want to truly own their data science&#8211; those that prize tools that build institutional knowledge rather than concentrating it in black boxes or third-party platforms. As our CEO Fran&#231;ois M&#233;ro wrote recently, <a href="https://probabl.substack.com/skore-is-live">our four guiding principles</a> are: (1) science first, (2) composability, (3) reusability, and (4) transparency.</p><p>We&#8217;re putting these principles into practice with <a href="https://skore.probabl.ai/">Skore</a>, available as an open source library and as an enterprise platform that empower data science teams to collaborate, scale their practice, and increase the impact of their AI projects.</p><p>None of this is built in isolation, though. The tools from the broader open source ecosystem &#8211; and the vibrant communities that maintain them at the state of the art &#8211; are essential to how enterprises can own their data science. </p><p>Kedro, the Python framework for production-ready data pipelines, is an important piece of that puzzle. By giving teams a standardized project structure and a principled way to build production-ready data pipelines, it addresses many of the same structural problems we think about at Probabl every day: how to move from individual heroics to institutional practice, from one-off experiments to reproducible, auditable systems.</p><h2><strong>A conversation with Merel Theisen</strong></h2><p>To learn more about the design choices and vision guiding Kedro, I sat down with Merel Theisen, Tech Lead of Kedro and Principal Software Engineer at QuantumBlack. We discussed how Kedro is built and why, what a healthy open source data science ecosystem actually looks like in practice, and how tools like Kedro and Skore create value for enterprises.</p><p><strong>Marie Sacksick: </strong>Merel, for someone coming into this with zero context: what is Kedro and what problems does it solve for enterprise data science teams?</p><p><strong>Merel Theisen:</strong> Kedro is an open source Python framework hosted by the Linux Foundation. It brings software engineering best practices to data science and data engineering, giving teams a standardized way to build production-ready data pipelines. For enterprise teams specifically, it solves some very real pain points: inconsistent project structures across teams, code that works in notebooks but falls apart in production, and the difficulty of collaborating on pipeline code when everyone has their own way of doing things. Kedro gives you a common foundation. This way teams can focus on the actual data science rather than reinventing project scaffolding every time.</p><div><hr></div><p><strong>Marie Sacksick: </strong>Data scientists rarely use a single tool in a vacuum. You may stitch together Kedro for data pipelining, scikit-learn for training machine learning models, SHAP for interpretability, and MLflow for monitoring models once they&#8217;re in production. Can you give us a sneak peak into a time you&#8217;ve seen Kedro used with tools like scikit-learn to drive real-world impact &#8211; what was the problem, and what was the outcome?</p><p><strong>Merel Theisen:</strong> One great example is a large Brazilian independent broker that had no formal data science practice when they started out. Their main challenge was a classic one: every data scientist built pipelines their own way, and the typical workflow meant shipping notebooks straight to production. They&#8217;d tried adopting tools like MLflow but couldn&#8217;t get adoption due to coding overhead.<br><br>The team adopted Kedro and it clicked for them because it met them where they were. It gave them standardized project structure, encouraged good software engineering practices, and let them think about models as proper software artifacts rather than one-off notebook experiments.<br><br>What&#8217;s interesting is what happened next. Once Kedro was in place as that foundational layer, adopting other MLOps tools became much easier. MLflow for experiment tracking, Great Expectations for data validation, these tools slotted in naturally because the team already had clean, structured pipelines to integrate them with.</p><div><hr></div><p><strong>Marie Sacksick: </strong>When you develop new features for Kedro, how much do you prioritize interoperability with tools in the wider Python data science ecosystem? And going one step further, what does a healthily integrated Python data science ecosystem look like to you?</p><p><strong>Merel Theisen:</strong> Kedro is designed to be tool- and platform-agnostic, so it slots into existing data stacks easily. As a Python library, tools like pandas, scikit-learn, and LangChain work natively inside Kedro projects. We also offer hooks, plugins, and kedro-datasets, our community-driven data connectors, to extend functionality further. A healthy ecosystem, to me, is one where tools complement each other and users can leverage the best of each without friction.</p><div><hr></div><p><strong>Marie Sacksick: </strong>At Probabl, we recently launched Skore Hub, a platform that extends our open source library Skore and enables data science teams to easily track, explore, and share their data science workflows. What value do you see Kedro and Skore, when used together, creating for enterprise data science teams?</p><p><strong>Merel Theisen:</strong> To me, Kedro and Skore address different but complementary stages of the data science workflow. Kedro provides the pipeline structure: how data flows, how code is organised, how projects scale. Skore, as I understand it, focuses on model development quality, such as evaluation reports, methodological diagnostics, and cross-validation insights. I think together they&#8217;d give enterprise teams both structured, reproducible pipelines and rigorous model evaluation with built-in best practices, which is exactly the combination needed to move from experimentation to production confidently.</p><div><hr></div><p><strong>Marie Sacksick: </strong>Open source thrives on collaboration, yet many enterprise users are consumers rather than upstream contributors. Could you give us a sneak peak into how you and your team have successfully encouraged others to move from just using Kedro to actually contributing to it? Based on your learnings, what is your go-to advice for enterprises that steward core Python libraries for data science and AI?</p><p><strong>Merel Theisen:</strong> Before open-sourcing Kedro, we established strong internal standards around code quality and testing. The challenge was maintaining that bar without discouraging contributions. We invested in clear contribution guides, streamlined developer setup, and responsive PR reviews, as people shouldn&#8217;t be left waiting. We also created tiered contribution paths: kedro-datasets is an easy entry point, and our experimental dataset tier lowers the bar further, letting contributors share ideas without needing to fully polish them. My advice: make contributing feel achievable, respond quickly, and offer varied entry points for different commitment levels.</p><div><hr></div><p><strong>Marie Sacksick: </strong>Last but not least, how would you pitch scikit-learn to CEOs who want to leverage the power of AI in their businesses?</p><p><strong>Merel Theisen:</strong> I&#8217;d pitch scikit-learn as the most battle-tested ML library in the Python ecosystem. It&#8217;s open source, widely adopted, and covers the vast majority of practical ML use cases. And naturally, it works seamlessly inside Kedro projects, so teams get structured pipelines with best-in-class ML tooling out of the box!</p><h2><strong>About Merel Theisen</strong></h2><p>Merel Theisen is a Principal Software Engineer at QuantumBlack, where she is currently the tech lead of Kedro, an open source project part of the Linux Foundation. Merel has over ten years of experience in the software industry, with most of her career focused on backend product engineering. Merel is passionate about building products that solve real user problems, and cares deeply about creating robust, well-tested software that follows good engineering principles. Merel is also a strong advocate for open source software, and finds working with the community to be both inspiring and energizing.</p><h2><strong>For more from Probabl</strong></h2><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The value of certifying your machine learning skills: A conversation with Dr. Fabian Stephany]]></title><description><![CDATA[Arturo Amor interviews Oxford's Dr. Fabian Stephany about the value of ML skills and certifications.]]></description><link>https://probabl.substack.com/p/the-value-of-certifying-your-machine</link><guid isPermaLink="false">https://probabl.substack.com/p/the-value-of-certifying-your-machine</guid><pubDate>Tue, 24 Mar 2026 13:36:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4b677369-a56b-4a9c-a895-2e4987d5ac1e_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;04d47b36-0941-4391-beb9-4b429a3c950f&quot;,&quot;duration&quot;:937.74365,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aSNT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aSNT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aSNT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png" width="1200" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:389431,&quot;alt&quot;:&quot;Arturo Amor, ML Engineer at Probabl and scikit-learn core maintainer, interviews Dr. Fabian Stephany from the University of Oxford about the value of ML skills and certifications&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/191976556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Arturo Amor, ML Engineer at Probabl and scikit-learn core maintainer, interviews Dr. Fabian Stephany from the University of Oxford about the value of ML skills and certifications" title="Arturo Amor, ML Engineer at Probabl and scikit-learn core maintainer, interviews Dr. Fabian Stephany from the University of Oxford about the value of ML skills and certifications" srcset="https://substackcdn.com/image/fetch/$s_!aSNT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!aSNT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706702b3-1d82-4964-adbf-0408df5cfd08_1200x627.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>We find ourselves in a period of profound uncertainty regarding the future of work. As software and AI redefine traditional workflows, policy makers and business executives alike are grappling with questions like: Which skills will remain relevant, and how do we build a workforce that is resilient to the next wave of disruption?</p><p>To find answers, we must move beyond speculation and look at the evidence. Dr. Fabian Stephany, an Assistant Professor in AI and Work at the University of Oxford, is at the forefront of this effort. Leading the multidisciplinary <a href="https://www.oii.ox.ac.uk/research/projects/skillscale/">SkillScale Project</a>, Dr. Stephany and his team use large-scale labor market data to provide empirical insights on how emerging technologies are reshaping work and the skills that are increasingly in demand.</p><p>In this post, I break down key findings from the SkillScale Project and share my conversation with Dr. Stephany about his latest insights on these questions.</p><h2><strong>What the data says about the value of ML skills</strong></h2><p>By analyzing millions of data points from online job vacancies and digital work platforms, Dr. Stephany and his team in the SkillScale Project have been digging into how the skill composition of professions is changing. I highlight three findings that stand out to me.</p><h3><strong>The value of complementarity: AI and ML skills pay off</strong></h3><p>In a 2024 <a href="https://www.sciencedirect.com/science/article/pii/S0048733323001828">research paper</a> published in the prestigious <em>Research Policy </em>journal, the researchers found that the value of a skill depends on its complementarity; that is, by the number, diversity, and value of skills it can be combined with. By analyzing nearly 50,000 freelance projects, the researchers found that high-value skills like data analytics derive their worth from their complementarity and function as a force multiplier when paired with others.</p><p>The researchers also found that by having general AI-related skills, professionals can earn 21% more than their peers without such skills. This includes AI-adjacent roles where the professional uses AI to enhance their primary job (e.g. a marketer using AI for content generation or a project manager using AI for forecasting).</p><p>For data scientists, this means that your professional resilience is built not by hyper-specialization per se, but by developing a diverse set of interlocking skills that create strategic options for the future. For executives, this underscores a strategic shift in how to build human capital in your enterprise: your most resilient employees are those whose skill sets are diverse enough to offer strategic options for future reskilling.</p><h3><strong>Professionals with ML skills enjoy a 40% wage premium</strong></h3><p>In the same <a href="https://www.sciencedirect.com/science/article/pii/S0048733323001828">paper</a>, the researchers identified a hierarchy of wage premiums based on the depth of a professional&#8217;s AI expertise. In particular, there is a significant wage premium for workers who have machine learning skills, who see a 40% increase in hourly wages. This specialized expertise represents the highest wage premium, followed by other types of AI skills such as deep learning (+27%) and natural language processing (+19%).</p><p>Crucially, this premium for machine learning skills is not confined to the tech sector. The researchers found that software and technical skills are often more valuable when applied in non-tech domains; for example, commanding ten times the value in Finance or Legal sectors compared to the Tech domain itself. This indicates that machine learning has become a key general-purpose skill, where the highest economic rewards go to those who can bridge the gap between technical execution and industry-specific application.</p><h3><strong>Certified ML skills increase likelihood of landing an interview invitation</strong></h3><p>In an experimental study involving over 1,700 recruiters across the US and UK, published in a 2026 <a href="https://arxiv.org/abs/2601.13286">working paper</a>, Dr. Stephany and his team found how AI skills impact hiring decisions in graphic design, administration, and software engineering.</p><p>The researchers found that having ML and AI skills in your resume increases the likelihood of landing an interview invitation by up to 15%. Notably, AI skills can act as a powerful equalizer, capable of offsetting traditional labor market disadvantages related to age or lower formal education. In addition, verifiable certificates for machine learning and AI skills&#8211;particularly those issued by recognized universities or companies&#8211;act as a credible hiring signal.</p><h2><strong>A conversation with Dr. Fabian Stephany</strong></h2><p>I sat down with Dr. Fabian Stephany to better understand his latest insights on in-demand skills and how data scientists can upskill to remain competitive in the evolving labor market.</p><p><strong>Arturo: </strong>Your research suggests that skills like data analysis and machine learning gain value when paired with others. For a data scientist today, what are the most underrated complementary skills that significantly boosts the market value of their technical expertise?</p><p><strong>Dr. Fabian Stephany:</strong> We certainly see a strong premium for AI related skills such as data analysis, machine learning, and increasingly the application of AI agents in business workflows. But at the same time, our recent research shows that so called human or soft skills are becoming more valuable as AI spreads through the workplace.</p><p>The reason is quite straightforward. As AI tools become better at handling repetitive technical tasks such as cleaning datasets, refactoring code, or drafting reports and emails, this frees up cognitive bandwidth for workers to focus on areas where humans still have a comparative advantage. These include things like ethical judgment, communication, and teamwork.</p><p>Interestingly, when we look at occupations where AI adoption is particularly strong, we also observe rising demand for exactly these kinds of human capabilities. So for technical professionals such as data scientists, it is important to think beyond purely technical development. Technical expertise remains essential, but the professionals who will benefit most from AI are those who combine it with strong collaborative skills, the ability to translate technical insights into business decisions, and a sense of responsible and ethical deployment of these technologies.</p><p>In other words, the future value of technical expertise increasingly lies in how well it is embedded in human judgment and collaboration.</p><div><hr></div><p><strong>Arturo: </strong>In your 2026 working paper, you found that AI skills significantly increase interview invitations, even for non-technical roles like office assistants. Since claiming AI skills is becoming easier and more common, how can recruiters distinguish between a candidate who merely uses machine learning or AI tools and one who truly understands how to integrate them into professional workflows?</p><p><strong>Dr. Fabian Stephany:</strong> This question essentially comes down to signaling. Today it has become relatively easy to claim AI expertise, sometimes simply because someone knows how to write prompts or use a particular tool. For recruiters, that makes it increasingly difficult to distinguish between buzzwords and genuine capability.</p><p>In our research we conducted a large online experiment with more than 1700 recruiters. Interestingly, we find that even self reported AI skills already increase the probability of being invited to an interview. But the effect becomes significantly stronger when these skills are accompanied by credible credentials.</p><p>Micro credentials, often short courses lasting one or two weeks offered by trusted industry providers or universities, greatly strengthen the signal. Candidates who list such certified AI skills receive substantially more interview invitations. This effect is particularly strong for applicants who might otherwise face disadvantages in the labor market, such as older workers or candidates with lower levels of formal education.</p><p>So while AI skills are increasingly common claims, credible certification from trusted institutions remains a powerful way to separate genuine capability from simple buzz.</p><div><hr></div><p><strong>Arturo: </strong>You&#8217;ve identified that employers are increasingly prioritizing practical AI skills over traditional degrees. Do you see a future where verifiable, hands-on certifications become the primary hiring signal for technical roles?</p><p><strong>Dr. Fabian Stephany:</strong> What we observe right now is a shift toward skill based hiring. Employers increasingly focus on specific capabilities rather than relying solely on traditional degrees as signals.</p><p>However, this does not mean that degrees such as bachelor&#8217;s or master&#8217;s programs have lost their value. In many cases universities simply have not yet scaled up programs that focus specifically on applied AI skills. As a result employers currently rely more heavily on direct signals of skills because strong academic credentials in these areas are still relatively scarce.</p><p>Micro credentials, short targeted training programs, are filling this gap at the moment. They provide a fast and credible way to signal practical capabilities.</p><p>In the longer run, however, I expect universities to adapt. As more structured degree programs emerge around AI applications and computational skills, traditional academic credentials will continue to play an important role. The likely future is not the replacement of degrees but rather a hybrid system in which formal education and verifiable skill credentials complement one another.</p><div><hr></div><p><strong>Arturo: </strong>The finding that machine learning and AI skills are significantly more valuable in Finance or Legal than in Tech is interesting. Why does the translation of AI expertise into traditional industries command such a high premium?</p><p><strong>Dr. Fabian Stephany:</strong> One explanation is the difference in technological maturity across sectors.</p><p>Many technical professions such as software engineering, machine learning engineering, or data science have already integrated forms of AI and advanced analytics for many years. Even before the recent wave of generative AI, these roles were already using machine learning methods and automation tools to optimize workflows. In other words, much of the productivity premium from these technologies has already been captured in the tech sector.</p><p>In contrast, sectors such as finance, legal services, or management are still in the earlier stages of adopting these technologies. Here the potential efficiency gains are often much larger. A lawyer, financial analyst, or manager who effectively integrates AI into their workflow may still see very substantial productivity improvements.</p><p>So the higher premium reflects the fact that AI adoption in these sectors is still catching up and therefore the marginal impact of AI expertise can be particularly large.</p><div><hr></div><p><strong>Arturo: </strong>Looking ahead to 2030, what is your prognosis for the sectors where skills in machine learning and AI will be the most impactful?</p><p><strong>Dr. Fabian Stephany:</strong> Forecasts about the future of work tend to age notoriously badly, so I am cautious about making very precise predictions.</p><p>What we can say, however, is that AI has two distinct channels through which it creates value.</p><p>The first is efficiency gains, making existing processes faster, cheaper, and more reliable. In this dimension there is still enormous untapped potential, especially in small and medium sized enterprises where digital transformation is often still incomplete.</p><p>The second channel is genuine innovation, the creation of entirely new products, services, or scientific discoveries. This is much harder to predict.</p><p>To draw an analogy from the Industrial Revolution, early on we used steam power to improve existing processes such as mechanizing textile production. The real breakthrough came later when the steam engine was put on rails and created the railway system. That fundamentally transformed the economy.</p><p>With AI we are still largely in the phase of improving existing processes. The real transformative innovations are still ahead of us. One sector where this may become particularly visible is pharmaceuticals and biotechnology, where AI could dramatically accelerate the discovery of new drugs and treatments.</p><h2><strong>Learn more about the SkillScale Project</strong></h2><p>For a deeper dive into research findings from the SkillScale Project, explore the following resources:</p><p><strong>&#128250;  Watch</strong></p><ul><li><p><a href="https://www.bbc.com/videos/cp9m4l0jvk1o">How AI can actually boost your chances of finding a new job</a>. Worried AI is going to steal your job? In this BBC explainer video, Dr. Fabian Stephany explains how AI skills can in fact be an ally when it comes to finding a new role.</p></li><li><p><a href="https://www.linkedin.com/posts/fabianstephany_ai-futureofwork-hiring-activity-7419287999730880512-M8VY?utm_source=share&amp;utm_medium=member_ios&amp;rcm=ACoAABRNgu0BbMNu7gnqkFd65chSBUwqigx3Ktc">AI Skills Improve Job Prospects</a>. In this LinkedIn Short, Dr. Fabian Stephany explains the key findings from his 2026 paper, <a href="https://arxiv.org/abs/2601.13286">&#8220;AI Skills Improve Job Prospects&#8221;</a>.</p></li><li><p><a href="https://www.youtube.com/watch?v=UINAsR_ugJk">Code-Based Colleagues: The Future of Work and AI</a>. This micro-documentary by Oxford Sparks provides an overview of how data-driven reskilling can create sustainable jobs.</p></li><li><p><a href="https://www.micro1.ai/forum/reskilling-in-the-age-of-ai">Reskilling in the Age of AI</a>. A panel discussion hosted by micro1 and Microsoft AIEI on the shifting requirements of the global workforce.</p></li><li><p><a href="https://www.oii.ox.ac.uk/news-events/videos/ais-ripple-effect-on-skills-and-labour-markets/">AI&#8217;s Ripple Effect on Skills and Labor Markets</a>. Watch Dr. Fabian Stephany&#8217;s webinar lecture at Sa&#239;d Business School at the University of Oxford, detailing two years of SkillScale research findings.</p></li></ul><p><strong>&#128218; Read</strong></p><ul><li><p><a href="https://arxiv.org/abs/2601.13286">AI Skills Improve Job Prospects: Causal Evidence from a Hiring Experiment</a></p></li><li><p><a href="https://onlinelibrary.wiley.com/doi/abs/10.1002/9781394413096.ch18">AI Skills Wanted: How AI Technologies Create Demand for Skilled Workers</a></p></li><li><p><a href="https://arxiv.org/abs/2412.19754">Complement or substitute? How AI increases the demand for human skills</a></p></li><li><p><a href="https://www.sciencedirect.com/science/article/pii/S0040162525000733">Skills or degree? The rise of skill-based hiring for AI and green jobs&#9734;</a></p></li><li><p><a href="https://www.sciencedirect.com/science/article/pii/S0048733323001828">What is the price of a skill? The value of complementarity</a></p></li></ul><h2><strong>About Dr. Fabian Stephany</strong></h2><p>Fabian Stephany is an Assistant Professor in AI and Work at the Oxford Internet Institute (OII), University of Oxford and a<a href="https://www.inet.ox.ac.uk/people/fabian-stephany"> Senior Research Fellow</a> with the Institute for New Economic Thinking at the Oxford Martin School. He is also a Future of Work fellow at the Brussels-based think tank <a href="https://www.bruegel.org/people/fabian-stephany">Bruegel</a>, an inaugural fellow at <a href="https://www.microsoft.com/en-us/research/group/ai-for-good-research-lab/ai-economy-institute/">Microsoft&#8217;s AI Economy Institute</a>, and a research affiliate at the <a href="https://www.hiig.de/en/fabian-stephany-dr/">Humboldt Institute</a> for Internet and Society in Berlin. Additionally, he currently serves as a member of the World Economic Forum&#8217;s <a href="https://initiatives.weforum.org/global-future-council-on-human-capital-development/home">Global Future Council</a> for Human Capital Development.</p><p>At the OII, Fabian leads the <a href="https://www.oii.ox.ac.uk/research/projects/skillscale/">SkillScale project</a>, which views skills as a central lens through which to understand today&#8217;s labour market transitions. By examining how work quality, job growth, and labour market equitability and sustainability respond to technological change, the project investigates how AI skills are becoming increasingly pivotal for workers and employers alike. As part of his Microsoft fellowship, Fabian is currently exploring the role of AI skills in employability&#8212;particularly how working with generative AI enhances job prospects and addresses the gender gap between men and women.</p><p>Fabian is also a co-creator of the <a href="http://onlinelabourobservatory.org/">Online Labour Observatory</a>&#8211;a digital data hub hosted in collaboration with the International Labour Organization that provides researchers, policymakers, journalists, and the public with insights into online platform work. His research has been published in <a href="https://scholar.google.de/citations?hl=com&amp;user=guvrufQAAAAJ">leading academic journals</a>, such as Research Policy and Scientific Reports, and has received media coverage in <a href="https://www.oii.ox.ac.uk/people/profiles/fabian-stephany/#news_press">outlets around the world</a>, including The Washington Post, The New York Times, The Telegraph, Nikkei Asia, Handelsblatt, and the Frankfurter Allgemeine Zeitung.</p><h2><strong>Learn more about Skolar by Probabl</strong></h2><p>The creators and maintainers of scikit-learn created the Inria MOOC <a href="https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn/">&#8220;Machine learning in Python with scikit-learn,&#8221;</a> as per the open source philosophy to empower everyone, everywhere, with free knowledge.</p><p>Since 2025, this <a href="https://blog.scikit-learn.org/updates/probabl-skolar/">mission</a> is shared and actively supported by Probabl. The MOOC hasn&#8217;t stopped evolving to adapt to new best practices, new functionalities in scikit-learn, and most importantly serve as preparation to get hands-on experience in a world where code generated by agents has to be validated by capable humans in the loop. </p><p>That&#8217;s where <a href="https://skolar.probabl.ai/en/a/2592619793993357212;p=1;pa=0">Skolar</a> comes into play. </p><p>Learn more about Probabl&#8217;s <a href="https://skolar.probabl.ai/en/a/2592619793993357212;p=1;pa=0">free educational materials</a> for machine learning with Python and our official <a href="https://probabl.ai/certification">Skolar certifications</a>.</p><h2><strong>For more from Probabl</strong></h2><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Scikit-learn acceleration with GPUs: A conversation with Dr. Andy Terrel]]></title><description><![CDATA[Ga&#235;l interviews Dr. Andy Terrel from NVIDIA about the benefits of GPU acceleration in scikit-learn for data scientists.]]></description><link>https://probabl.substack.com/p/scikit-learn-acceleration-with-gpus-f2b</link><guid isPermaLink="false">https://probabl.substack.com/p/scikit-learn-acceleration-with-gpus-f2b</guid><pubDate>Tue, 17 Mar 2026 14:11:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/38d897c8-0d2d-4158-b5ab-558fbd76513b_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;4fd311f8-49fa-4f4f-8eb6-b1204e3bdaa4&quot;,&quot;duration&quot;:679.73224,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W2PN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W2PN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W2PN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png" width="1200" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:417166,&quot;alt&quot;:&quot;scikit-learn acceleration with GPUs: Ga&#235;l Varoquaux interviews NVIDIA's Dr. Andy Terrel&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/191142523?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="scikit-learn acceleration with GPUs: Ga&#235;l Varoquaux interviews NVIDIA's Dr. Andy Terrel" title="scikit-learn acceleration with GPUs: Ga&#235;l Varoquaux interviews NVIDIA's Dr. Andy Terrel" srcset="https://substackcdn.com/image/fetch/$s_!W2PN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!W2PN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5638abe-9656-433a-8fd5-1f2cbf4241f4_1200x627.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>For over a decade, scikit-learn has served as the bedrock of machine learning, supporting the work of millions of data scientists worldwide. While scikit-learn was originally designed for a CPU-centric world, the advent of new hardware presents an opportunity to supercharge machine learning pipelines.</p><p>Speeding up machine learning workflows isn&#8217;t just about technical benchmarks; it&#8217;s about turning hours of training into seconds, saving time and money for data scientists and enterprises.</p><p>I sat down with Dr. Andy Terrel from NVIDIA to discuss why this community effort is such a game-changer for the scientific Python ecosystem and enterprise data science.</p><h2>Bringing you up to speed</h2><p>To achieve GPU acceleration in scikit-learn without fragmenting our codebase, we are re-engineering scikit-learn to be backend agnostic. This is a mighty community effort involving our team at Probabl, our peers at Quansight and NVIDIA, and many others from the wider community.</p><p>Historically, supporting GPUs required specialized code for every library, but the array API provides a unified specification that allows scikit-learn to remain flexible. Now, when an estimator is array API-compliant, it can inspect your input data&#8211;whether it&#8217;s a PyTorch tensor or a CuPy array&#8211;and delegate the computation to the matching library&#8217;s optimized functions. If your data lives on the GPU, the computation stays on the GPU, avoiding expensive memory transfers.</p><p>We have already updated 25 estimators and core tools like the scoring API, ensuring they perform consistently across different hardware backends through rigorous automated testing. The real-world impact of this work is significant; for example, recently <a href="https://blog.probabl.ai/accelerating-scikit-learn-with-gpus-achieving-15x-speed-ups-in-complex-ml-pipelines-with-the-python-array-api">Olivier Grisel</a>, my fellow scikit-learn core maintainer and ML Engineer at Probabl, demonstrated a 15x speed-up in complex machine learning pipelines by offloading compute-intensive steps to the GPU.</p><p>For a deeper dive into the technical implementation and the latest progress, I highly recommend reading the detailed technical updates by my colleague <a href="https://blog.probabl.ai/accelerating-scikit-learn-with-gpus-achieving-15x-speed-ups-in-complex-ml-pipelines-with-the-python-array-api">Olivier</a> and<a href="https://labs.quansight.org/blog/array-api-scikit-learn-2026"> Lucy Liu</a> from Quansight.</p><h2><strong>A conversation with Dr. Andy Terrel</strong></h2><p><strong>Ga&#235;l Varoquaux: </strong>Andy, for someone coming into this with zero context: why are we working so hard to accelerate Python libraries like scikit-learn with GPUs?</p><p><strong>Andy Terrel: </strong><em>Two main reasons. The forward march of computing technology and the growing needs of science in the AI era. When I started programming computers, multi-threaded programs were rare. HPC centers had wonderful CPUs that could manage 2 threads, but today your phone has 6 cores. What is leading edge in the HPC center will come to commodity systems in time. GPUs are a must in any data center today, and most people are seeing them deployed in their commodity hardware as well for smaller scale simulations. The other trend is incorporating AI into the scientific workload, we see scientists needing to use tools like scikit-learn to do ensembles of models or build model regressors. By having our beloved python scientific tools work on the GPU, we allow scientists to be more efficient and utilize the GPU as part of the full application rather than an occasionally used offloading device.</em></p><div><hr></div><p><strong>Ga&#235;l Varoquaux: </strong>At your recent webinar, <a href="https://www.nvidia.com/en-eu/events/python-on-the-gpu-webinar/?_hsmi=2">&#8220;Python on the GPU: From Libraries to Kernels,&#8221;</a> my colleague and co-maintainer of scikit-learn, Olivier Grisel, spoke about our efforts to adopt the Array API and showcased the benefits of GPU-acceleration for the data scientist working with scikit-learn. For example, in a demo, he showed that using GPUs instead of CPUs results in a 15x speed-up when tuning hyperparameters in a complex machine learning pipeline. This is fantastic but there&#8217;s still much work to be done in scikit-learn and of course in many Python libraries to enable GPU-acceleration. From your perspective, how do you think the ecosystem could evolve to make such an endeavor easier?</p><p><strong>Andy Terrel: </strong>The Array API is a big step in allowing codes to seamlessly integrate with GPUs, but codes such as NumPy and SciPy are slow to fully convert their core routines into it. It takes time to move such code bases, but we are pointed in the correct direction. The Array API only takes a code so far, as most codes I work with are also needing to adopt the correct array interfaces. The array interfaces, e.g. c_array_interface of NumPy or cuda_array_interface of Numba, help integrate with other native codes. In this vein the DLPack system has become essential to provide an interface that recognizes the different devices and will avoid memory movement as needed. While some tools have adopted these apis and interfaces, we use more work expanding out the tooling for the scientific ecosystem. For example, pure Python applications have wonderful tools like pyrefly and ty for type inference but scientific codes can rarely use them because extension types are not cleanly represented in Python type syntax.</p><div><hr></div><p><strong>Ga&#235;l Varoquaux:</strong> Open source communities appreciate choice in software and hardware. How do tools like CuPy, Numba, and the Python array API standard help open source maintainers and users navigate the balance between achieving maximum performance while maintaining a healthy, backend-agnostic ecosystem?</p><p><strong>Andy Terrel: </strong>My viewpoint is that we should build high level open tools for the 80% cases and then let users determine if they want to specialize to hardware for the extra 20%. There are many cases where an extra 20% of performance is crucial, but for many it is not. The transition of a code based on NumPy can be quickly ported to CuPy. From there, if a routine needs a more finely tuned GEMM or FFT, nvmath-python provides bindings to highly optimized CPU and GPU libraries. These optimized libraries are hard to maintain so letting vendors provide them and OSS communities can focus on choice rather than optimal performance.</p><div><hr></div><p><strong>Ga&#235;l Varoquaux: </strong>Thanks to GPU acceleration, we can move from minutes to seconds when training models. It&#8217;s a win for data scientists, who get to be more productive and remain in the flow. And it&#8217;s a win for enterprises, who get to save time and money. What&#8217;s your prognosis of how these wins will materialize for enterprise data science teams? Which sectors do you think will reap the greatest rewards?</p><p><strong>Andy Terrel: </strong>I&#8217;ve seen some big wins with scientific instruments. Grid Computing was invented because High Energy Physics needs to offload experimental data and process it. Today scientific workflows that took weeks to process can be done in minutes. When you have instruments that have configurable sensors (and all the big ones do these days), this means scientists can have more control over experiments as data is processed faster and models can be updated on the fly. This sort of acceleration directly translates to industrial processes, robotics, self driving cars, etc. I spent time in the manufacturing space before coming to NVIDIA and we were already seeing better yields and faster times from prototype to production with machining.</p><div><hr></div><p><strong>Ga&#235;l Varoquaux: </strong>Most people associate GPUs with LLMs. How do we raise awareness that GPUs are also game-changing for machine learning with tabular data - the type of data that most enterprises actually run on?</p><p><strong>Andy Terrel:</strong> In my career as a data scientist, I would advise companies to evaluate the speed of decision making with the technology they choose. If a company requires emails of spreadsheets and weekly meetings, it would take 2-4 weeks for decisions to be made. If there was a dashboard with apis but daily standups, we would see operations changing in 2-4 days. Both these cases are essentially bringing tabular data in front of decision makers, and require careful analysis and subject matter insight to decipher. Now if we can get tabular data to be instant and correct the first time, no more arguing about domain models, then we can see business adapt to the market in near real time. This is scary to business leaders, they like their spreadsheets so there needs to be a phased introduction of the tooling to help transform business. Unfortunately, I don&#8217;t know that optimizing enterprises has ever been something seen as cool, but operational efficiency will drive leaders to better results and the tabular data model will be its heart.</p><div><hr></div><p><strong>Ga&#235;l Varoquaux: </strong>Looking ahead, do you envision a world where the distinction between &#8220;CPU code&#8221; and &#8220;GPU code&#8221; in the Python stack disappears entirely for data scientists?</p><p><strong>Andy Terrel: </strong>Today I work with data centers that have LPUs and quantum chips as well. The essential challenge is that the programming model is so different between these different chips. With AI Agents we are seeing some transfer between GPU and CPU code but the two code paths still need to be managed differently for efficiency. High core count CPUs may get to a point where the memory hierarchy of the GPU starts getting built in, but I&#8217;m a software person and I really don&#8217;t know the complexities there.</p><div><hr></div><p><strong>Ga&#235;l Varoquaux:</strong> Looking ahead again, what are you the most excited about when it comes to making our favorite Python libraries for data science run on GPUs?</p><p><strong>Andy Terrel: </strong>I&#8217;m most excited about scientific discoveries. The further enabling of weather predictions, nuclear fission, and astronomical discoveries are all using GPUs today. Tools for scientific data analysis are incorporating AI and machine learning by default, this allows researchers to focus on the important aspects of science and perform more surveys to validate before experimentation.</p><h2>Learn more about scikit-learn acceleration</h2><h3>&#128434;&#65039; Demo</h3><ul><li><p>Test the GPU speed-ups in this <a href="https://colab.research.google.com/drive/1YrCt5iBPT6gnmp7geahRn_9OqCPrfoLb?usp=sharing">demo</a> made by Olivier Grisel, ML Engineer at Probabl and scikit-learn core maintainer.</p></li></ul><h3>&#128250; Watch</h3><ul><li><p>Olivier Grisel, ML Engineer at Probabl and core maintainer of scikit-learn, demoed a 15x speed-up in a complex ML pipelines in Nvidia&#8217;s <a href="https://www.nvidia.com/en-eu/events/python-on-the-gpu-webinar/">&#8220;Python on the GPU: From Libraries to Kernels&#8221;</a> webinar in February 2026.</p></li></ul><h3>&#128218; Read</h3><ul><li><p>Adrin Jalali, VP of Labs at Probabl and scikit-learn core maintainer (March 11, 2026): <a href="https://blog.probabl.ai/scikit-learn-roadmap-11-march-2026">Current scikit-learn priorities at Probabl - March 2026 edition</a></p></li><li><p>Olivier Grisel, ML Engineer at Probabl and scikit-learn core maintainer (March 10, 2026): <a href="https://blog.probabl.ai/accelerating-scikit-learn-with-gpus-achieving-15x-speed-ups-in-complex-ml-pipelines-with-the-python-array-api">Scikit-learn acceleration with GPUs</a></p></li><li><p>Lucy Liu, Software Engineer at Quansight labs and scikit-learn core maintainer (March 4, 2026): <a href="https://labs.quansight.org/blog/array-api-scikit-learn-2026">Update on array API adoption in scikit-learn</a></p></li></ul><h2>About Dr. Andy Terrel</h2><p>Andy leads CUDA Python from the product management team. His research focused on domain-specific languages to generate high-performance code for physics simulations with the PETSc and FEniCS projects. Andy is a leader in the Python open-source software community. He&#8217;s most notably a co-creator of the Dask distributed computing framework, the Conda package manager, the SymPy symbolic computing library, and NumFOCUS foundation.</p><h2>For more from Probabl</h2><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Announcing Scikit-learn Central]]></title><description><![CDATA[Yann announces scikit-learn central &#8211; a hub designed to visualize, unite, and stimulate the scikit-learn ecosystem.]]></description><link>https://probabl.substack.com/p/announcing-scikit-learn-central</link><guid isPermaLink="false">https://probabl.substack.com/p/announcing-scikit-learn-central</guid><pubDate>Fri, 13 Mar 2026 10:04:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2KDB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;04519a9d-b857-405e-a834-399b6eedefb4&quot;,&quot;duration&quot;:346.0702,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><p>In the world of technology, we often talk about &#8220;infrastructure&#8221; in terms of cables, data centers, and cloud regions. But for the global data science community, the most critical infrastructure isn&#8217;t made of silicon or steel&#8211;it&#8217;s made of code. Specifically, it is built upon open source libraries like <a href="https://github.com/scikit-learn/scikit-learn">scikit-learn</a>.</p><p>When we founded Probabl, we did so with a profound sense of responsibility. As an organization founded by the creators of scikit-learn, we recognized that this library had grown beyond a mere tool; it had become the de facto open standard for machine learning worldwide.</p><p>Today, I am proud to announce the launch of <a href="https://scikit-learn-central.probabl.ai/#catalog">Scikit-learn Central</a>, a new digital hub designed to visualize, unite, and stimulate the sprawling ecosystem that has grown around this foundational library.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2KDB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2KDB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 424w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 848w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2KDB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png" width="1456" height="1071" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d290b291-721b-4c4f-8581-d7361713e362_1600x1177.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1071,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&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_!2KDB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 424w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 848w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!2KDB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd290b291-721b-4c4f-8581-d7361713e362_1600x1177.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 style="text-align: center;">Figure 1: scikit-learn central catalog</p><h1><strong>The scale of a global standard</strong></h1><p>To understand why stewarding scikit-learn is important, one only needs to look at the numbers.</p><p>Scikit-learn has surpassed <a href="https://clickpy.clickhouse.com/dashboard/scikit-learn">4.1 billion downloads</a>. Every single month, another 160 million downloads occur as data scientists, developers, and students pull the library into their environments. On GitHub, it serves as the foundation for <a href="https://github.com/scikit-learn/scikit-learn/network/dependents">over 1.3 million repositories and 27,000 packages</a>. It is a project that has been sustained by the efforts of over 3,100 contributors and that has received <a href="https://github.com/scikit-learn/scikit-learn">over 65,000 stars</a>. For comparison with other popular libraries for machine learning like XGBoost and deep learning like PyTorch and TensorFlow, take a look at the chart below that shows yearly downloads from PyPi and Conda. Looking at this metric alone over the past few years, scikit-learn commands a 70%+ growth year-on-year which is staggering.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J6Hr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J6Hr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 424w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 848w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 1272w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J6Hr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png" width="1390" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1390,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103483,&quot;alt&quot;:&quot;Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/190818608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml." title="Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml." srcset="https://substackcdn.com/image/fetch/$s_!J6Hr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 424w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 848w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 1272w, https://substackcdn.com/image/fetch/$s_!J6Hr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa26a9963-ad40-4b6d-a2d1-ac740d42eddf_1390x790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"></p><p style="text-align: center;">Figure 2: Yearly downloads (pypi + conda) of key machine learning and deep learning libraries</p><p>Downloads and stars only tell part of the story. The impact of scikit-learn is also measured in the progress of human knowledge. The seminal paper, <em>&#8220;Scikit-learn: machine learning in Python,&#8221;</em> has <a href="https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html">128,960 citations</a>, and scikit-learn is cited in over <a href="https://www.nature.com/search?q=scikit-learn">7,000 Nature publications</a>. This is world-leading science in action. From identifying genetic markers in cancer research to optimizing the complex climate modeling models, scikit-learn provides the mathematical building blocks that allow experts in biology, physics, and ecology to apply machine learning to their specific domains without needing a PhD in applied mathematics.</p><h1><strong>Mission-driven stewardship</strong></h1><p>Probabl is not a typical tech company. We are a <em>Soci&#233;t&#233; &#224; Mission</em> under French law&#8211;a status similar to a B-Corp, with our mission integrated into our corporate bylaws: &#8220;To develop, maintain at the state of the art, and sustain a complete suite of open source tools for data science to benefit &#8230; the world.&#8221;</p><p>We believe that open source tools of this magnitude require a sustainable commercial model that respects the community. Our mission is to shepherd scikit-learn, helping the community use it and improve it. That means ensuring the core remains robust while fostering the &#8220;extended universe&#8221; of libraries that make the workflow complete.</p><h1><strong>Introducing Scikit-learn Central</strong></h1><p>The scikit-learn ecosystem is vast. While the core library provides the supervised and unsupervised algorithms, the wider community has built specialized tools to handle the nuances of modern data science.</p><p><a href="https://scikit-learn-central.probabl.ai/#catalog">Scikit-learn Central</a> is our attempt to make this ecosystem navigable. It is a catalog of the &#8220;building blocks&#8221; that turn a simple model into a production-ready pipeline. When you visit the catalog, you see the full breadth of what is possible:</p><ul><li><p><strong>Data preparation:</strong> Tools like <a href="https://skrub-data.org/stable/">Skrub</a> simplify the often-tedious process of data cleaning and feature engineering, ensuring that the &#8220;garbage in, garbage out&#8221; mantra doesn&#8217;t derail your project.</p></li><li><p><strong>Workflow acceleration:</strong> <a href="https://docs.skore.probabl.ai/stable/">Skore</a> helps data scientists move faster, with smarter cross-validation, automated evaluation reports, and methodological guidance &#8211; catching common pitfalls before they reach production.</p></li><li><p><strong>Powerful predictions: </strong>We highlight the deep integration with libraries like <a href="https://xgboost.ai/">XGBoost</a>, which rely on scikit-learn&#8217;s API to deliver state-of-the-art gradient boosting.</p></li><li><p><strong>Operational excellence: </strong>For those moving to production, <a href="https://mlflow.org/">MLFlow</a> provides the MLOps framework necessary to track and deploy models at scale.</p></li><li><p><strong>Trust and explainability:</strong> <a href="https://shap.readthedocs.io/en/latest/">SHAP</a> offers data scientists tools to evaluate and understand why a model makes the decisions it does.</p></li></ul><ul><li><p><strong>Tabular foundation models:</strong> The new wave of Tabular Foundation Models often depend implicitly on scikit-learn. For instance, <a href="https://tabicl.readthedocs.io/en/latest/">TabICLv2</a> uses scikit-learn during pretraining to generate good synthetic data that shapes the final model.</p></li></ul><h1><strong>An invitation to the wider community</strong></h1><p>At Probabl, we know that the most compelling arguments for open source aren&#8217;t found in documentation, but in execution. That is why, alongside the catalog, we are building a <a href="https://scikit-learn-central.probabl.ai/#use-cases">library of use cases</a>.</p><p>We are inviting data scientists from every corner of the globe to share their code and their stories. Whether you are using libraries for time-series analysis in finance, nilearn for neuroimaging, or building a custom fraud detection engine for a global bank, your work can inspire and educate others.</p><p>Scikit-learn succeeded because it made complex mathematics accessible to everyone. Scikit-learn Central aims to succeed by making the entire ecosystem accessible. We are building a future where open-source machine learning is sustainable, transparent, and more powerful than ever.</p><p>I invite you to explore the catalog on <a href="https://scikit-learn-central.probabl.ai/#catalog">scikit-learn central</a>, contribute your use cases, and join us in this next chapter.</p><h2>For more from Probabl:</h2><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Current scikit-learn priorities at Probabl - March 2026 edition]]></title><description><![CDATA[Adrin shares the priorities on the scikit-learn roadmap.]]></description><link>https://probabl.substack.com/p/current-scikit-learn-priorities-at</link><guid isPermaLink="false">https://probabl.substack.com/p/current-scikit-learn-priorities-at</guid><pubDate>Wed, 11 Mar 2026 11:06:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u85o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;d324dfba-a706-4626-a298-57a6832339ab&quot;,&quot;duration&quot;:272.71835,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u85o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u85o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!u85o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!u85o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!u85o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u85o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png" width="1200" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54254,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/190605011?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u85o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!u85o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!u85o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!u85o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1565af26-b947-414c-a5fb-ce5a2f5de454_1200x628.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>At Probabl, we have a significant support for scikit-learn&#8217;s maintenance and development, and it is important to us to communicate our priorities for the broader community to know where our activities will be focused in the short term and what to expect.</p><p>We also aspire to maintain an up to date project board for each of these topics to keep track of the progress.</p><h1>Priorities</h1><h2>1. GPU Support via Array API</h2><ul><li><p>Moving from pure numpy to Array API enables using a diverse set of hardware (including GPUs) as well as native support of computations done by different backends such as pytorch or cupy. This has been a long running project, and many estimators and functions in scikit-learn already support this, but there&#8217;s still a lot of work to be done.</p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/12">https://github.com/orgs/scikit-learn/projects/12</a></p></li><li><p>This work is also supported by the NASA ROSES grant.</p></li></ul><h2>2. Callbacks</h2><ul><li><p>This work enables progress reports notably in estimators such as <code>GridSearchCV</code> as well as inspection of estimators as they go through their iterative training process. We will also work on the related SLEP to get the required consensus and move this forward.</p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/8/views/2">https://github.com/orgs/scikit-learn/projects/8/views/2</a></p></li><li><p>This work is also supported by a CZI-Wellcome Trust grant</p></li></ul><h2>3. Tree based models</h2><ul><li><p>Tree based models are some of our most used estimators, and it&#8217;s important that we give the best we can to our users when it comes to these models. For this, we&#8217;d work on a variety of issues to improve them, e.g. merging Hist Gradient Boosting with Gradient Boosting.</p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/26/views/1">https://github.com/orgs/scikit-learn/projects/26/views/1</a></p></li></ul><h2>4. Displays and UX</h2><ul><li><p>This section addresses all work related to the look and feel of what users see from scikit-learn, which includes estimator visualisations, displays as well as what&#8217;s provided on the website.</p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/10">https://github.com/orgs/scikit-learn/projects/10</a></p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/9/views/2">https://github.com/orgs/scikit-learn/projects/9/views/2</a></p></li><li><p>This work is also supported by a CZI-Wellcome Trust</p></li></ul><h2>5. Metadata Routing</h2><ul><li><p>This is another long running project, which is already in a shape which enables many common usecases, however, there are areas to improve before it can become the default in the library.</p></li><li><p>Project board: <a href="https://github.com/orgs/scikit-learn/projects/4">https://github.com/orgs/scikit-learn/projects/4</a></p></li></ul><h2>6. Misc / Maintenance / Release</h2><p>Other areas where we keep our activity include:</p><ul><li><p>Project maintenance: it&#8217;s always crucial to maintain the project and enable other contributors to move forward their projects and we dedicate a fair amount of resources to this area.</p></li><li><p>Free-threaded is an area supported by the NASA ROSES grant which includes maintenance of the build, as well as identifying thread safety or oversubscription issues.</p></li><li><p>Supply chain security is an area also supported by the NASA ROSES grant, which can result in some CI refactoring and improvements in our build process.</p></li></ul><h1>Labs @Probabl Project Board</h1><p>We also have a board to keep track of <a href="https://github.com/orgs/probabl-ai/projects/8/views/1">https://github.com/orgs/probabl-ai/projects/8/views/1</a> to view all active issues in our Labs team. Internally we assign a &#8220;champion&#8221; to each issue or pull request, which means that person is either the author or follows up on the work and makes sure the work moves forward. Whenever necessary, we also assign reviewer 1 and reviewer 2, if that&#8217;s lacking.</p><p>People mentioned in that board as a champion or a reviewer are either folks at Probabl or work very closely with us.</p><p>Note that the board includes all work done by our team on public repositories, which means not every entry is from the scikit-learn repo. Some entries are from other open source projects we support, e.g. <code>skore-lib</code>, <code>skrub</code>, and <code>skops</code>.</p><h1>For more from Probabl</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[scikit-learn acceleration with GPUs]]></title><description><![CDATA[Olivier explains how the Python array API in scikit-learn now enables 15x speed-ups in complex ML pipelines.]]></description><link>https://probabl.substack.com/p/scikit-learn-acceleration-with-gpus</link><guid isPermaLink="false">https://probabl.substack.com/p/scikit-learn-acceleration-with-gpus</guid><pubDate>Tue, 10 Mar 2026 15:33:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b0eb2c18-38f7-46aa-8f3c-257a05335661_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;7b876b6b-5f16-4842-8538-7d48ae623f0a&quot;,&quot;duration&quot;:587.31104,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><p>For over a decade, scikit-learn has served as the bedrock of machine learning, supporting the work of millions of data scientists worldwide and recently surpassing 4 billion downloads [1]. Scikit-learn was originally designed for a CPU-centric world, relying heavily on the foundational stack of NumPy, SciPy, and Cython. However, with the advent of new hardware, there are new opportunities to accelerate machine learning pipelines with scikit-learn.</p><p>Speeding up machine learning pipelines is significant for enterprises, where compute bottlenecks are not only a technical lag but also a barrier to operational agility. When model training takes hours instead of minutes, the time-to-insight stretches, delaying the impact of data science projects as a consequence. Even for smaller datasets, when model training takes minutes instead of seconds, interactive model development in notebooks stops being interactive, disrupting the quick iteration cycle of focused data scientists and their productivity as a result.</p><p>In this post, I bring you up to speed on our efforts to adopt the Python array API standard in scikit-learn in order to tackle this problem and to facilitate hardware acceleration in data science workflows. An important point to emphasize is that this transition is not only a performance optimization; it is a fundamental re-engineering that allows data scientists to leverage scikit-learn&#8217;s 200+ estimators, while delegating performance-critical tasks to GPU-backed libraries like PyTorch, CuPy, and maybe soon JAX that unlock game-changing speed-ups for data scientists building complex machine learning pipelines.</p><h1><strong>What is the Python array API standard?</strong></h1><p>Historically, library maintainers like us at scikit-learn faced a vendor lock-in challenge. If we wanted to support GPUs, we would have had to write specialized code paths for every specific backend (e.g., one for NumPy, one for CuPy, another for PyTorch). This led to fragmented codebases and maintenance overhead.</p><p>The Python array API standard [2] solves this by providing a unified specification for NumPy-like operations. It is a common language adopted by major array libraries. By targeting this specification, scikit-learn can remain &#8220;backend agnostic.&#8221;</p><p><strong>Core Concept:</strong> When an estimator is array API-compliant, it inspects the input data. If you pass a PyTorch tensor residing on an NVIDIA GPU, scikit-learn uses the array API to dispatch the underlying linear algebra to PyTorch&#8217;s GPU kernels. The computation happens on the device where the data lives.</p><h1><strong>Converting from NumPy to the array API</strong></h1><p>Converting a library as vast as scikit-learn&#8211;which has over 200 estimators&#8211;is a significant undertaking. Indeed, whenever an estimator is converted, we also set up automated testing to ensure that it numerically behaves consistently across backends. This is a multi-year effort involving deep collaboration between Probabl, Quansight, NVIDIA, and the broader scientific Python community.</p><p>So far, approximately 25 estimators out of 200 are either partially, fully compatible or in the final stages of integration. Most metric functions (e.g. R2, log loss, Brier score) and tools such as cross-validation functions and the scoring API have been updated. Specific tests and continuous integration configuration has also been put in place to regularly monitor the correct execution of those components on a GPU and more test infrastructure work is in progress.</p><p>To be a bit more precise, let me explain some of the technical changes involved in converting from NumPy to the array API.</p><p>Before, the code would explicitly import NumPy (as &#8220;np&#8221;) perform linear algebra operations on NumPy arrays passed as input to the scikit-learn functions. Now, compliant functions accept any array API-compliant input without any explicit hard dependencies on those libraries: the underlying module is retrieved (as &#8220;xp&#8221;) by inspecting the input arguments. Subsequent linear algebra operations are therefore delegate to input-specific libraries without having to couple the source code explicitly to any of those array libraries.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yPtS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yPtS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 424w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 848w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 1272w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yPtS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png" width="1456" height="246" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:246,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!yPtS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 424w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 848w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 1272w, https://substackcdn.com/image/fetch/$s_!yPtS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e57fbdf-ced4-4b37-b64b-c29e15e480ab_1600x270.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In practice, not all array API compatible libraries are 100% compliant with the specification (yet) and importing <a href="https://github.com/data-apis/array-api-compat">array_api_compat</a> is a pragmatic way to handle the transition. For instance, PyTorch implements some features from the spec under different names. So instead of retrieving the array namespace from PyTorch, we ask array_api_compat to get a standard compliant PyTorch wrapper. If the input array stem from a compliant library, array_api_compatc simply returns that module as is.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tzwz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tzwz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 424w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 848w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 1272w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tzwz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png" width="1456" height="250" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e649a25-f470-4add-a266-eddfc7730922_1600x275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:250,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!tzwz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 424w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 848w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 1272w, https://substackcdn.com/image/fetch/$s_!tzwz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e649a25-f470-4add-a266-eddfc7730922_1600x275.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>On top of this, <a href="https://github.com/data-apis/array-api-extra">array-api-extra</a> brings extra benefits that go beyond the spec and enable support for other libraries with special design constraints, such as JAX.</p><p><strong>The value-add for the data scientist: </strong>The significance of this work for the millions of data scientists around the world who use scikit-learn lies in the seamless scalability that has been unlocked. In the past, moving a scikit-learn pipeline to a GPU required a complete rewrite using different libraries. With the array API, this transition is possible. You can now tell scikit-learn to delegate compute intensive work to GPU-aware, array API-compliant libraries.</p><h1><strong>Demo: 15x speed-up for complex ML pipelines with GPUs</strong></h1><p>To illustrate the impact of this work, I measured the time it takes to fit and evaluate the following multistep polynomial regression pipeline:</p><p><code>poly_reg_torch_gpu = make_pipeline(</code></p><p><code>    SplineTransformer(n_knots=5),</code></p><p><code>    FunctionTransformer(partial(torch.asarray, device="cuda")),</code></p><p><code>    Nystroem(kernel="poly", degree=2, n_components=300,            random_state=0),</code></p><p><code>    Ridge(solver="svd", alpha=1e-3),</code></p><p><code>)</code></p><p><code>cv_results_torch_gpu = cross_validate(</code></p><p><code>    poly_reg_torch_gpu, X, y_torch_gpu, cv=5</code></p><p><code>)</code></p><p>In the above code, the SplineTransformer has not yet been updated to accept array API inputs while the other steps did. To upgrade this pipeline, we therefore insert a FunctionTransformer step to call torch.asarray(out, device=&#8221;cuda&#8221;) on the output of the first step before passing the resulting PyTorch GPU array to the Nystroem step and dramatically accelerate the last to steps by letting them operate on the CUDA device.</p><p>By offloading these steps to a GPU using the array API, I observed a <strong>15x speed-up</strong> compared to traditional CPU execution.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://colab.research.google.com/drive/1YrCt5iBPT6gnmp7geahRn_9OqCPrfoLb?usp=sharing&quot;,&quot;text&quot;:&quot;Jump into the demo notebook&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://colab.research.google.com/drive/1YrCt5iBPT6gnmp7geahRn_9OqCPrfoLb?usp=sharing"><span>Jump into the demo notebook</span></a></p><p><strong>Takeaway: </strong>Thanks to GPU acceleration, we can now tune the hyperparameters in a complex pipeline to get a very good model in the time it would take to run a single cross-validation on the Google Colab CPU. More importantly, the training speed is fast enough to avoid disrupting the model development flow of the data scientist interactively editing the Google Colab notebook.</p><h1><strong>Deep dive with NVIDIA</strong></h1><p>I recently had the pleasure of joining NVIDIA experts Andy Terrel, Sergey Maydanov, Ashwin Srinath, and Leo Fang for a technical deep dive into the CUDA Python roadmap and the adoption of the Python array API in scikit-learn.</p><p>We discussed topics like strategies for making GPU-accelerated computing more seamless and accessible for Python developers and data scientists.</p><p>We had over 700 people tune in from all over the world. If you missed the live event, I encourage you to watch the replay to see the live demo and the array API in action.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.nvidia.com/en-eu/events/python-on-the-gpu-webinar/&quot;,&quot;text&quot;:&quot;Watch the Webinar Replay&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.nvidia.com/en-eu/events/python-on-the-gpu-webinar/"><span>Watch the Webinar Replay</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_!D-Ql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D-Ql!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D-Ql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png" width="646" height="338.0733333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1200,&quot;resizeWidth&quot;:646,&quot;bytes&quot;:567845,&quot;alt&quot;:&quot;Probabl presents scikit-learn acceleration at NVIDIA Webinar \&quot;Python on the GPU: From Libraries to Kernels\&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/190494110?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Probabl presents scikit-learn acceleration at NVIDIA Webinar &quot;Python on the GPU: From Libraries to Kernels&quot;" title="Probabl presents scikit-learn acceleration at NVIDIA Webinar &quot;Python on the GPU: From Libraries to Kernels&quot;" srcset="https://substackcdn.com/image/fetch/$s_!D-Ql!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!D-Ql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7efa0a20-7a1c-4953-92b2-803b4ff7737d_1200x628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>By bridging the gap between the easy-to-use and familiar interface of Python libraries and the power of GPUs, we are lowering the barrier to entry for high-performance AI, making it a practical reality for enterprises of all sizes and skills.</p><h1><strong>Probabl on stage at Nvidia GTC 2026</strong></h1><p>Ga&#235;l Varoquaux, our CSO, and Yann Lechelle, our Executive President, will be at NVIDIA GTC 2026 in San Jos&#233; next week. Don&#8217;t be a stranger; connect with them there!</p><p>On March 17 (3:00 PM &#8211; 3:40 PM PDT / 11:00 PM - 11:40 PM CET), Ga&#235;l will be speaking on the<a href="https://www.nvidia.com/gtc/session-catalog/sessions/gtc26-s82113/?_hsmi=2"> &#8220;Accelerating Open Science: Incorporating CUDA Into the SciPy Ecosystem&#8221;</a> panel. Ga&#235;l will discuss adopting CUDA in scikit-learn without sacrificing usability, portability, or community values alongside Leo Fang, Ianna Osborne, Travis Oliphant, and Katrina Riehl.</p><p>On March 18 (5:00 AM &#8211; 5:50 AM PDT / 1:00 PM - 1:50 PM CET), Yann will be speaking on the <a href="https://www.nvidia.com/gtc/session-catalog/sessions/gtc26-s81898/?ncid=ref-inc-898673">&#8220;Europe&#8217;s AI Launchpad: Unlock Startup Growth Through Sovereign AI Infrastructure [S81898]&#8221;</a> panel. Yann will discuss dynamic AI compute landscape as well as public and private compute options for startups alongside Cedric Auliac, Pierre-Antoine Beaudoin, and Sadaf Alam.</p><h1><strong>Words of gratitude</strong></h1><p>Our efforts to adopt the array API is the result of a massive team effort. I want to extend my gratitude to the maintainers and contributors from Quansight, NVIDIA, and the community of scikit-learn core contributors. The work performed by Probabl and Quansight on scikit-learn and SciPy is supported by the NASA ROSES grant 80NSSC25K7215 &#8220;Ensuring a fast and secure core for scientific Python.&#8221; This support is vital for maintaining the health of the open source ecosystem that the world&#8217;s scientific and industrial infrastructure relies upon.</p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>References:</strong></p><p>[1] <a href="https://clickpy.clickhouse.com/dashboard/scikit-learn">https://clickpy.clickhouse.com/dashboard/scikit-learn</a> Please note that PyPI downloads are a proxy for adoption and should be taken with a grain of salt; they are not the only way to download a python library, and they may not accurately convey usage.</p><p>[2] Python array API standard <a href="https://data-apis.org/array-api/latest/">https://data-apis.org/array-api/latest/</a></p><p>[3] Enabling array API support in scikit-learn <a href="https://scikit-learn.org/stable/modules/array_api.html">https://scikit-learn.org/stable/modules/array_api.html</a></p><p>[4] Colab notebook of the demo: <a href="https://colab.research.google.com/drive/1YrCt5iBPT6gnmp7geahRn_9OqCPrfoLb?usp=sharing">https://colab.research.google.com/drive/1YrCt5iBPT6gnmp7geahRn_9OqCPrfoLb?usp=sharing</a></p>]]></content:encoded></item><item><title><![CDATA[Skore Is Live: Track Your Data Science]]></title><description><![CDATA[Fran&#231;ois announces the launch of our new product Skore, what it can do, and who it is for.]]></description><link>https://probabl.substack.com/p/skore-is-live-track-your-data-science</link><guid isPermaLink="false">https://probabl.substack.com/p/skore-is-live-track-your-data-science</guid><dc:creator><![CDATA[François Méro]]></dc:creator><pubDate>Thu, 05 Mar 2026 12:04:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/675764d2-c79c-4ee3-adff-27797a8ee7c7_1200x628.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two weeks ago, I wrote about the <a href="https://blog.probabl.ai/towards-data-science-grounded-in-science">five challenges holding back enterprise data science</a>: technology-first thinking, spiraling costs, vendor lock-in, a lack of industrial maturity, and the fading of scientific thinking. This week, Guillaume Lemaitre laid out <a href="https://blog.probabl.ai/next-gen-of-data-science-tooling">the principles for a new generation of data science tooling</a> &#8220;built for data scientists, by data scientists.&#8221;</p><p>Today, we are putting those principles into practice. <a href="http://probabl.ai/skore">Skore</a> is now publicly available.</p><p>Skore is the collaboration layer for teams. This first release is the first concrete step toward the future of enterprise data science we are building at Probabl. Not the finished vision. The foundation it starts from.</p><p><strong>Get started now:</strong></p><ul><li><p>Sign up for Skore: <a href="https://skore.probabl.ai">skore.probabl.ai</a></p></li><li><p>Learn more: <a href="https://probabl.ai/skore">probabl.ai/skore</a></p></li><li><p>Explore the code: <a href="https://github.com/probabl-ai/skore">github.com/probabl-ai/skore</a></p></li><li><p>Read the docs: <a href="https://docs.skore.probabl.ai">docs.skore.probabl.ai</a></p></li></ul><h1>What Skore Does Today</h1><p>If you work with scikit-learn, Skore will feel immediately familiar. Same API philosophy. Same commitment to clarity. Scikit-learn gives you powerful building blocks for machine learning, Skore extends it by giving you the guidance and structure to use them well.</p><p>Here is what you can do right now.</p><p><strong>Evaluate any model (even old ones) in one line of code.</strong> Feed your scikit-learn compatible estimator and your dataset to EstimatorReport. It automatically generates the metrics, feature importance, and plots that are most relevant to your use case. No boilerplate. No navigating through documentation to figure out which evaluation applies. Skore does that work for you, with efficient caching under the hood so everything runs fast.</p><p><strong>Cross-validate with full visibility.</strong> CrossValidationReport gives you a complete estimator report for each fold of your cross-validation. Not just a score, a structured, inspectable report per fold. You see how your model behaves across your data.</p><p><strong>Benchmark models side by side.</strong> Training several estimators? ComparisonReport lets you compare them in a structured way. No more ad hoc notebooks with copy-pasted metric tables. You get a clear, standardized comparison.</p><p><strong>Catch methodological mistakes before they matter. </strong>Skore brings together the tools you need to spot modeling issues early. Explore associations between variables to understand how your features relate to each other, relationships that could impact your modeling, and put them in perspective with the feature importance as seen by your predictive model. Combine this with utilities designed to help flag potential pitfalls in your data splitting strategy, and you have the building blocks to catch fishy patterns before they compromise your model. These are the kinds of insights experienced data scientists develop over time.</p><p><strong>Organize and persist your work.</strong> The Project system lets you save reports, experiments, and artifacts in a structured way. Everything is stored, locally or remotely. Nothing gets lost when you close a notebook.</p><p><strong>Collaborate through Skore,</strong> the collaboration layer for teams. Teams can share, compare, and build upon each other&#8217;s experiments. It brings visibility across a team&#8217;s work, standardizes workflows without slowing anyone down and frames results for decision-making; so your next stakeholder meeting starts from structured evidence, not a scramble through notebooks.</p><h1>Why This Matters</h1><p>If you are a data scientist, you know the reality of your day-to-day work. You have excellent tools at your disposal: plotly and seaborn for data exploration, scikit-learn for model training and evaluation. These libraries are powerful. They are also generic by design. They accommodate a wide range of use cases without prescribing how to use them.</p><p>That is a strength but also a challenge. Your experience is the key ingredient that determines whether those building blocks are assembled correctly. You spend time navigating documentation, writing boilerplate code for common evaluations, and maintaining project structure by hand. When you are experienced, it works. When you are under pressure, or when the team has mixed levels of seniority, things slip through. Methodology gets cut short. Context gets lost. Models reach production with flaws that could have been caught earlier (if ever).</p><p>Skore is designed and envisioned to close that gap. It acts as a conductor that transforms your way of working into structured, meaningful artifacts. It reduces the time you spend on documentation navigation, eliminates code boilerplate, and guides you toward the right methodological choices, the ones you would have made if you had infinite time and attention.</p><p>Think of it this way: scikit-learn trusts you to make the right decisions. Skore helps you actually make them, consistently, across every project.</p><h1>Our First Move, Not Our Last</h1><p>We want to be straightforward. This is early. Skore is at the beginning of its journey. We are shipping fast, and there is much more to come.</p><p>What you see today (evaluation reports, cross-validation insights, methodological diagnostics, model comparison, and team collaboration) is the first layer. It is where we deliver immediate, tangible value to any data scientist using scikit-learn.</p><p>But our ambition goes further. In the two posts that preceded this one, we laid out a vision for enterprise data science grounded in science, composability, reusability, and transparency. Skore is the vehicle for that vision. Over the coming months, you can expect:</p><ul><li><p><strong>Deeper</strong> <strong>guidance:</strong> starting with the scientific guardrails you already see in this release, and evolving toward contextual recommendations that learn from your practice and your organization&#8217;s data science work.</p></li><li><p><strong>AI-powered augmentation:</strong> feeding the right context from your experiments into code generators and assistants, so that AI-generated code is grounded in your specific project, not generic suggestions.</p></li><li><p><strong>Full process coverage: </strong>extending Skore upstream toward data preparation and downstream toward MLOps handoffs, always from the data scientist&#8217;s perspective.</p></li><li><p><strong>Richer collaboration</strong>: multi-audience reporting, model cards, and documentation that translates technical results into business narratives.</p></li></ul><p>We are building Skore the same way scikit-learn was built: step by step, guided by real-world usage, with the community as co-pilot. This release is the result of working closely with early users and our Design Partners. Their feedback and yours shape every decision.</p><h1>Who Is Skore For</h1><p>Skore is for data scientists who use Python and the scikit-learn ecosystem. Whether you work alone or in a team. Whether you are building your first model or managing a portfolio of hundreds.</p><p>If you are experienced, Skore saves you time. It eliminates the repetitive evaluation code you write on every project and gives you a clean, structured record of your work.</p><p>If you are building your skills, Skore accelerates your growth. The methodological warnings and automated diagnostics encode the judgment that takes years to develop. You benefit from that expertise from day one.</p><p>If you lead a data science team, Skore gives you visibility. Through Skore, you can see how experiments progress across the team, standardize best practices without micromanaging, and present results to stakeholders in a format they can act on.</p><p>And if your company has already invested in a data science practice but struggles to scale its impact, Skore is designed precisely for you. It works with your existing stack, not against it. It plugs into your environment. It does not create vendor lock-in.</p><h1>Get Involved</h1><p>We believe the best data science tooling comes from the community that uses it.</p><ul><li><p>Sign up for Skore: <a href="https://skore.probabl.ai">skore.probabl.ai</a></p></li><li><p>Learn more: <a href="https://probabl.ai/skore">probabl.ai/skore</a></p></li><li><p>Explore the code: <a href="https://github.com/probabl-ai/skore">github.com/probabl-ai/skore</a></p></li><li><p>Read the docs: <a href="https://docs.skore.probabl.ai">docs.skore.probabl.ai</a></p></li></ul><p>We would love your feedback. File issues, contribute code, or just tell us what you think. This is the beginning. And we are building it with you.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eqVO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eqVO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 424w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 848w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eqVO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png" width="1456" height="719" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:719,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:252975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/189986144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eqVO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 424w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 848w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!eqVO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9782f9-2b2c-4446-88a7-83539d0a705a_2048x1012.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>]]></content:encoded></item><item><title><![CDATA[For data scientists, by data scientists: Building the next generation of data science tooling]]></title><description><![CDATA[Guillaume pinpoints frictions in data science workflows and explains his vision for overcoming them.]]></description><link>https://probabl.substack.com/p/for-data-scientists-by-data-scientists</link><guid isPermaLink="false">https://probabl.substack.com/p/for-data-scientists-by-data-scientists</guid><pubDate>Tue, 03 Mar 2026 14:58:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1be9d68f-9527-4175-ad4d-9ea05c0a8e43_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;8128ea64-a846-40a9-a6b4-a8a787221772&quot;,&quot;duration&quot;:593.6326,&quot;downloadable&quot;:true,&quot;isEditorNode&quot;:true}"></div><p>Data science has the power to transform how enterprises understand their world and make high-impact decisions. When executed well, it delivers profound business value through optimized operations and strategic advantages that compound over time.</p><p>However, the potential for data science remains constrained by a myriad of organizational challenges and friction points that exist throughout data science workflows, from misaligned processes to fragmented tooling. It&#8217;s clear that enterprises deserve better tooling for data science&#8211;tooling designed for data scientists, by data scientists.</p><p>In this post, I break down the evidence about these friction points and present our vision at Probabl for building the next generation of data science tooling, anchored in our deep understanding of the <em>scientific</em> practice of data science.</p><h1><strong>The status quo of enterprise data science</strong></h1><h2><strong>What the data says: Challenges in enterprise data science</strong></h2><p>Industry insights provide a clear signal that we have to change the status quo of enterprise data science and AI.</p><p>According to RAND, more than 80% of AI projects fail, which is twice the rate of traditional IT projects [1]. Further research finds that 87% of projects never even reach production [2], and Gartner predicts that through 2026 60% of AI initiatives will be abandoned because the data held by enterprises is simply not yet AI-ready [3].</p><p>It&#8217;s also clear that these failures are rarely the result of poor data science or AI in itself; they tend to be organizational. For example, RAND finds that challenges often come from the top when business leaders do not clearly articulate specific problems that need to be solved and lean into technology-first thinking, prioritizing trendy AI solutions when simpler analytical approaches might actually suffice [1].</p><p>Many AI projects also fail because enterprises lack the necessary data to train models, and even when data exists, the unglamorous work of data wrangling consumes a disproportionate amount of time [1, 6]. This is compounded by a process mismatch, where frameworks designed for software engineering are applied to data science, despite it being an R&amp;D process where the end product is often unclear at the outset [4-5].</p><h2><strong>Pinpointing the frictions that we must solve for</strong></h2><p>If we want to build solutions that solve these challenges, we must understand exactly where frictions live in enterprise data science workflows.</p><p>To do so, let&#8217;s think of the data science workflow as it&#8217;s visualized in Figure 1. We can distinguish the types of work by their nature rather than by job titles. Upstream work centers on making raw data available and usable, while downstream work focuses on putting models into production. Between these lies the data science work&#8211;the scientific core of the process&#8211;which demands methodological rigor and careful experimental design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vc_7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vc_7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 424w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 848w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 1272w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vc_7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png" width="842" height="394" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4341675-14a4-4eb1-9285-635ba242903d_842x394.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:394,&quot;width&quot;:842,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Steps and frictions in data science workflows: data preparation, data science, and machine learning model deployment.&quot;,&quot;title&quot;:null,&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="Steps and frictions in data science workflows: data preparation, data science, and machine learning model deployment." title="Steps and frictions in data science workflows: data preparation, data science, and machine learning model deployment." srcset="https://substackcdn.com/image/fetch/$s_!vc_7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 424w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 848w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 1272w, https://substackcdn.com/image/fetch/$s_!vc_7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4341675-14a4-4eb1-9285-635ba242903d_842x394.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>Figure 1: A typical data science workflow (arrows represent potential failure points)</em></p><p>While the data science ecosystem provides many powerful tools for these different types of work, the connective tissue to make them work as a coherent whole is still missing. What&#8217;s more, the current tooling landscape wasn&#8217;t designed with the data-scientists&#8217; work as its focus, but rather production, which is closer to engineering. As a result, frictions and potential failure points exist throughout the data science workflow, which we must solve for.</p><p>These frictions include the following:</p><p><strong>Friction at the boundaries:</strong> Currently, the transitions between upstream work (data collection, data engineering), data science work, and downstream work (MLOps) are not always optimal. In the worst case scenarios, handoffs between stages result in lost context, rewritten code, and undocumented methodological decisions. Moving from prepared data into experimentation, or from validated model to production, requires knowledge that current tools neither capture nor transfer.</p><p><strong>Friction between stakeholders:</strong> Domain experts struggle to articulate data requirements clearly. Those leading data science teams find it difficult to translate model performance into business impact. Business leaders set objectives without understanding what AI can realistically achieve. Technical work proceeds without clarity on what success looks like.</p><p><strong>Friction within the data science work itself:</strong> Experiments need review, results require interpretation, and methodological choices must be justified. Yet without structured processes for this validation cycle, quality control risks becoming ad hoc and inconsistent.</p><p><strong>Friction in data science tooling:</strong> Most critically, existing tools tend to misunderstand what data science is. Data science is not software engineering. It transforms data&#8211;the essential ingredient&#8211;into impactful results through three dimensions: coding, business understanding, and scientific methodology. This scientific dimension changes everything. A methodological mistake can invalidate an entire project, leading teams to perfectly solve the wrong business problem, regardless of code quality or data accuracy. Existing tools do not address the core challenge of data science work&#8211;ensuring scientific excellence, maintaining methodological context across iterations, and translating statistical findings into business narratives.</p><h1><strong>Principles for a new generation of data science tooling</strong></h1><p>These frictions create an opportunity for a new generation of data science tooling.</p><p>At Probabl, we&#8217;re on a mission to remove these frictions and unleash the full potential of data science teams. We imagine a world where data science moves at the speed of insights, where experiments build naturally on previous work, and where the path from a question to an answer is measured in days, not months.</p><p>This requires a fundamental shift in building tools for data scientists, by data scientists. Towards this end, you can expect us to double down on the following principles.</p><h2><strong>Data science as the core</strong></h2><p>We build specifically for the data scientist.</p><p>This choice is rooted in our identity as stewards of scikit-learn. We have shaped how millions of practitioners practice machine learning. We understand that the data scientist holds a unique position as a hybrid professional who bridges quantitative excellence with business context. While AI can automate parts of code generation, it cannot replicate the contextual understanding and data-driven reasoning required for high-stakes decision making in enterprises. We believe the work carried out by data scientists is where better tooling is most needed to achieve faster outcomes and impact.</p><h2><strong>Ecosystem-first architecture</strong></h2><p>We build ecosystem-first architecture, not one-size-fits-all platforms.</p><p>We understand that data scientists have strong preferences for their tools. They are more likely to assemble a curated set of libraries within their existing environment than to adopt a rigid, all-in-one platform. Similarly, we understand that enterprises operate on diverse infrastructures. Attempting to latch a one-size-fits-all data science platform onto these heterogeneous infrastructures creates integration challenges, vendor lock-in, and operational frictions. We offer a modular, slot-in approach that respects autonomy and works with an existing technology stack rather than replacing it. This ecosystem delivers value where data scientists actually work while integrating seamlessly with diverse enterprise infrastructures.</p><h2><strong>Designed to ground the validity of the data science practice</strong></h2><p>Data science is fundamentally a process of empirical discovery.</p><p>What distinguishes data scientists from software engineers is not just technical skill&#8211;it is that data science is fundamentally empirical discovery. Data science exists to uncover novel insights from data&#8211;to reveal patterns, relationships, and knowledge that weren&#8217;t previously known or understood. Because data science is discovery, it naturally demands suitable methodological approaches. When you&#8217;re uncovering insights that will drive business decisions, methodological mistakes can lead to false discoveries, misguided strategies, and wasted resources. Our solutions ensure that empirical discovery is supported throughout the entire process, from data validation to stakeholder communication.</p><h2><strong>AI-powered augmentation</strong></h2><p>If data science is the discipline of unlocking value from data, then we should practice what we preach: we will augment data scientists by leveraging AI.</p><p>The goal is to reduce time-to-value by deploying AI where it genuinely accelerates the workflow, such as through natural language interfaces and automated diagnostics. We build intelligent systems that learn from the essence of data science practice to provide contextually relevant guidance. As advancements emerge like the SOTA tabular foundation models TabICL [7] and TabPFN [8], we integrate these innovations while maintaining the principle that AI should always empower the data scientist rather than replace him or her.</p><h3><strong>Full process coverage</strong></h3><p>To truly serve data scientists, we must address friction across the entire workflow.</p><p>Upstream, we bring databases closer to predictive modeling to reduce reliance on constant intervention from data engineers. Downstream, we view MLOps through the practitioner&#8217;s lens to ensure seamless handoffs while preserving scientific context. Finally, we provide tools to help translate technical results into business language, recognizing that communication is where value is ultimately realized or lost. By providing tools that help data scientists explain model behavior and translate technical results into business narratives, we seek to ensure that scientific excellence leads to real-world impact.</p><h1><strong>Putting these principles into practice</strong></h1><p>At Probabl, we&#8217;re committed to putting our principles into practice. Just as we standardized the practice of machine learning by creating scikit-learn, we intend to do the same for the entire enterprise data science practice.</p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Find our blog on <a href="https://medium.com/probabl">Medium</a> and our <a href="https://blog.probabl.ai/">website</a></p></li><li><p>Check out our video deep-dives on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/p/for-data-scientists-by-data-scientists?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">Thanks for reading :probabl.! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/p/for-data-scientists-by-data-scientists?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://probabl.substack.com/p/for-data-scientists-by-data-scientists?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p><p><strong>References:</strong></p><p>[1] Ryseff, J., Bruzelius, E., &amp; Scobell, W. (2024). <em>The Root Causes of Failure for Artificial Intelligence Projects and How They Can Succeed: Avoiding the Anti-Patterns of AI</em>. RAND Corporation. <a href="https://www.rand.org/pubs/research_reports/RRA2680-1.html">https://www.rand.org/pubs/research_reports/RRA2680-1.html</a></p><p>[2] Lorica, B. (2019, July 19). Why do 87% of data science projects never make it into production? <em>VentureBeat</em>. <a href="https://venturebeat.com/ai/why-do-87-of-data-science-projects-never-make-it-into-production/">https://venturebeat.com/ai/why-do-87-of-data-science-projects-never-make-it-into-production/</a></p><p>[3] Gartner. (2025, February 26). Lack of AI-Ready Data Puts AI Projects at Risk [Press release]. <a href="https://www.gartner.com/en/newsroom/press-releases/2025-02-26-lack-of-ai-ready-data-puts-ai-projects-at-risk">https://www.gartner.com/en/newsroom/press-releases/2025-02-26-lack-of-ai-ready-data-puts-ai-projects-at-risk</a></p><p>[4] Freischlag, C. (2022). Machine learning projects and Scrum: A major mismatch. <em>Towards Data Science</em>. <a href="https://medium.com/data-science/machine-learning-projects-and-scrum-a-major-mismatch-c155ad8e2eee">https://medium.com/data-science/machine-learning-projects-and-scrum-a-major-mismatch-c155ad8e2eee</a></p><p>[5] Ribeiro, D. (2025). Why Agile Doesn&#8217;t Work for Data Science and How DSLP Fills the Gap. <em>LinkedIn</em>. <a href="https://www.linkedin.com/pulse/why-agile-doesnt-work-data-science-how-dslp-fills-gap-diogo-ribeiro-gnirf/">https://www.linkedin.com/pulse/why-agile-doesnt-work-data-science-how-dslp-fills-gap-diogo-ribeiro-gnirf/</a></p><p>[6] Oleli, D. (2018, July 13). Bridging The Data Scientist Talent Gap Starts With Defining The Current Role. <em>Forbes</em>. <a href="https://www.forbes.com/sites/forbestechcouncil/2018/07/13/bridging-the-data-scientist-talent-gap-starts-with-defining-the-current-role/">https://www.forbes.com/sites/forbestechcouncil/2018/07/13/bridging-the-data-scientist-talent-gap-starts-with-defining-the-current-role/</a></p><p>[7] Jingang Qu, David Holzm&#252;ller, Ga&#235;l Varoquaux, Marine Le Morvan. (2026). TabICLv2: A better, faster, scalable, and open tabular foundation model. <a href="https://arxiv.org/abs/2602.11139">https://arxiv.org/abs/2602.11139</a> Code: <a href="https://github.com/soda-inria/tabicl">https://github.com/soda-inria/tabicl</a> Installation: <a href="https://pypi.org/project/tabicl/">https://pypi.org/project/tabicl/</a></p><p>[8] Noah Hollmann, Samuel M&#252;ller, Katharina Eggensperger, Frank Hutter. (2023). TabPFN: A Transformer That Solves Small Tabular Classification Problems in a Second. <a href="https://arxiv.org/abs/2207.01848">https://arxiv.org/abs/2207.01848</a>. Code: <a href="https://github.com/PriorLabs/TabPFN">https://github.com/PriorLabs/TabPFN</a>. Installation: <a href="https://pypi.org/project/tabpfn/">https://pypi.org/project/tabpfn/</a>.</p>]]></content:encoded></item><item><title><![CDATA[Maintaining open source in the age of generative AI: Recommendations for maintainers and contributors]]></title><description><![CDATA[Adrin and Cailean discuss how open source maintainers are dealing with rising AI-generated contributions.]]></description><link>https://probabl.substack.com/p/maintaining-open-source-in-the-age</link><guid isPermaLink="false">https://probabl.substack.com/p/maintaining-open-source-in-the-age</guid><pubDate>Tue, 24 Feb 2026 16:39:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/78dce0c1-62c3-40e3-9cfd-85ebc554975e_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;1dfcd0b2-ee96-4251-8901-b2d60240864c&quot;,&quot;duration&quot;:735.24243,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><p>Almost 7 years ago, Ralf Gommers from Quansight wrote an excellent blog post about <a href="https://rgommers.github.io/2019/06/the-cost-of-an-open-source-contribution/">the cost of an open source contribution</a>, where he described what happens when a contribution comes into an open source project, and the subsequent challenges and bottlenecks for maintainers. Since then, open source has become even more mainstream. The number of contributors has gone up, while the number of maintainers in many projects has stayed more or less the same.</p><p>On top of that, with the expansion of AI tools and their general availability, an increasing number of people seem to be trying their luck at &#8220;vibe contributing&#8221; to open source. Recently, it has become rather straightforward to prompt an IDE or an agent to read guidelines, claim an issue, and submit a solution without the contributor ever truly understanding their code.</p><p>Maintainers like our colleagues, who maintain core data science libraries like scikit-learn and skore, are increasingly submerged in LLM-generated comments, auto-generated issues, and many low-quality PRs that do not advance the project, such as redundant contributions to README files and ones that claim significant performance gains while failing basic linting tests.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://probabl.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>These come almost exclusively from &#8220;first-time contributors&#8221; who seem to want to have a contribution in our project without understanding their submissions. The issue has gotten so bad that at times almost every second issue on our main repo gets at least one such message, in many cases multiple ones, to the point where some of our peers dread opening issues since they don&#8217;t want to deal with interacting with AI.</p><p>While the cost of writing and contributing code has shrunk thanks to AI, the cost of reviewing and maintaining code hasn&#8217;t. Given these developments, maintainers from many open source communities have been deliberating what to do. Some reject all AI-generated contributions, saying they have never seen useful ones or that the risks of copyright infringement or license violations are simply too great. Meanwhile others are proactively trying to steer the types of AI-generated contributions they receive by implementing solutions like AI contribution policies and AGENTS.md files.</p><p>So, what should open source maintainers do? There is clearly no single way to deal with AI-generated contributions and by no means do we want to prescribe the <em>best</em> ways to go about it. Instead, we&#8217;ve summarized discussions and solutions we&#8217;ve seen lately in scikit-learn and other open source communities, with the hope that gathering this information in one place may be useful for others asking themselves the same question.</p><h1><strong>The surge of AI-generated contributions</strong></h1><p>In <a href="https://adrin.info/the-cost-of-ai-in-open-source-maintenance.html">&#8220;The Cost of AI in Open Source Maintenance,&#8221;</a> I (Adrin) wrote about the types of AI-generated contributions to scikit-learn, the impacts on the maintainers, as well as recommendations to future contributors. As described there, in scikit-learn, we have encountered the following types of interactions with users who post LLM-generated content.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BqmC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BqmC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 424w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 848w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 1272w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BqmC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png" width="779" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/467e073d-6e55-4815-896a-12112eaadb62_779x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&quot;width&quot;:779,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121445,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/189031037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BqmC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 424w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 848w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 1272w, https://substackcdn.com/image/fetch/$s_!BqmC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467e073d-6e55-4815-896a-12112eaadb62_779x557.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Table 1: Types of AI-generated contributions to scikit-learn</em></p><p>These kinds of AI-generated contributions are creating a lot of extra work for us at scikit-learn and taking up valuable time that could be better used for other tasks like onboarding genuinely motivated contributors or advancing the priorities in our roadmap.</p><p>Our struggle isn&#8217;t happening in a vacuum though. This has become an open source-wide challenge. A series of recent discussions show this trend affects open source communities across the board, and maintainers are debating different ways to adapt to this new reality.</p><p>Just to name a few, take a look at the list of discussions in the last month alone that our colleague and scikit-learn core developer, Stefanie Senger, shared in <a href="https://github.com/scikit-learn/scikit-learn/issues/31679">issue #31679</a> in scikit-learn:</p><ul><li><p>January 27, 2026: Github Community Discussions: <a href="https://github.com/orgs/community/discussions/185387">Exploring Solutions to Tackle Low-Quality Contributions on GitHub.</a></p></li><li><p>January 29, 2026: Scientific Python blog post on <a href="https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/">Community Considerations Around AI Contributions.</a></p></li><li><p>February 3, 2026: <a href="https://www.theregister.com/2026/02/03/github_kill_switch_pull_requests_ai">GitHub ponders kill switch for pull requests to stop AI slop.</a></p></li><li><p>February 6, 2026: Numpy Mailing List: <a href="https://mail.python.org/archives/list/numpy-discussion@python.org/thread/LAR7P3KQWHWAIKYSHTS2MY7X4HUBVA3L/">Current policy on AI-generated code in NumPy.</a></p></li><li><p>February 12, 2026: Scott Shambaugh&#8217;s blog post: <a href="https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/">An AI Agent Published a Hit Piece on Me</a> related to closing an AI-generated PR:<a href="https://github.com/matplotlib/matplotlib/pull/31132"> matplotlib/matplotlib#31132.</a></p></li><li><p>February 14, 2026: <a href="https://medium.com/reading-sh/github-finally-acknowledged-open-sources-spam-crisis-a32b22a6699c">GitHub acknowledged open source&#8217;s spam crisis</a> with a nice timeline on the most recent developments.</p></li></ul><h1><strong>Recommendations for maintainers</strong></h1><p>If you&#8217;re a maintainer and you&#8217;re wondering what to do about AI-generated contributions to your project, perhaps some of the following approaches might be helpful.</p><h2><strong>Establish an AI use policy</strong></h2><p>Vague guidelines about AI use are not sufficient. In scikit-learn, we have codified our stance in our <a href="https://scikit-learn.org/dev/developers/contributing.html#automated-contributions-policy">Automated Contributions Policy</a>. Basically, contributions require human judgment. It states that maintainers reserve the right to close fully automated submissions and if judged appropriate, ban the user from the GitHub organisation. Contributors are also required to <a href="https://github.com/scikit-learn/scikit-learn/blob/main/.github/PULL_REQUEST_TEMPLATE.md">disclose AI usage</a>. This works well because it empowers the maintainers to act decisively.</p><p>Below we&#8217;ve summarized acceptable and unacceptable uses that are mentioned in AI tool use policies and/or guidelines by open source projects and communities. Melissa Weber Mendon&#231;a of Quansight has also created this useful <a href="https://github.com/melissawm/open-source-ai-contribution-policies">repo</a> with policies of many other projects, which we recommend checking out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UpoY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UpoY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 424w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 848w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UpoY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png" width="806" height="1234" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1234,&quot;width&quot;:806,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:369198,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/189031037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UpoY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 424w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 848w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!UpoY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07215a77-5470-44cc-a7e6-b5e97573fd3c_806x1234.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Table 2: Examples of AI tool use policies and/or guidelines. URLs: <a href="https://scikit-learn.org/dev/developers/contributing.html#automated-contributions-policy">scikit-learn</a>, <a href="https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/">Scientific Python</a>, <a href="https://devguide.python.org/getting-started/generative-ai/">Python Developer&#8217;s Guide (CPython Team)</a>, <a href="https://www.apache.org/legal/generative-tooling.html">Apache Software Foundation</a>, <a href="https://www.linuxfoundation.org/legal/generative-ai">Linux Foundation</a>, <a href="https://firefox-source-docs.mozilla.org/contributing/ai-coding.html">Mozilla Firefox</a>, <a href="https://github.com/zulip/zulip/blob/main/CONTRIBUTING.md#ai-use-policy-and-guidelines">Zulip</a>, and <a href="https://castle-engine.io/ai">Castle Engine</a>.</em></p><h2><strong>Principles you may want to include in your AI use policy</strong></h2><p>AI contribution policies come in many flavors. If you&#8217;re considering developing one for your project, you may want to take a look at the principles advocated by the Scientific Python community. In January 2026, Stefan van der Walt proposed <a href="https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/">four principles</a>:</p><ol><li><p>Be transparent</p></li><li><p>Take responsibility</p></li><li><p>Gain understanding</p></li><li><p>Honor Copyright</p></li></ol><p>In the <a href="https://mail.python.org/archives/list/numpy-discussion@python.org/thread/LAR7P3KQWHWAIKYSHTS2MY7X4HUBVA3L/">NumPy mailing list</a>, Ralf Gommers recently added a fifth principle: &#8220;we want to interact with other humans, not machines,&#8221; which LLVM recently adopted in their <a href="https://llvm.org/docs/AIToolPolicy.html">AI Tool Policy</a>.</p><h2><strong>Create agent guidance like an AGENTS.md file</strong></h2><p>More and more projects are adding an <a href="http://agents.md">AGENTS.md file</a> to their repo, which gives explicit instructions for how agents should interact in the repo. This is a strategy for driving up the quality of automated interactions by giving agents better rules to follow.</p><p>For example, the Apache Airflow maintainers added this <a href="https://github.com/apache/airflow/blob/main/AGENTS.md">AGENTS.md</a> file to their repo. Jarek Potiuk from Airflow has commented that historically they had very good human-targeted documentation for contributors, and they suspect that it helped drive up the quality of AI-generated contributions. Jarek has recommended developing good instructions and embracing the AI contributions that follow.</p><h2><strong>Prepare tooling and instructions for AI use in contributions</strong></h2><p>Jarek Potiuk from Apache Airflow has also recommended developing bespoke tooling and instructions for AI use, and in turn deliberately inviting contributors to use AI in their contributions accordingly. In the <a href="https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions">Apache Airflow contributing docs</a>, they list guidelines for contributors who use AI tools to help them create PRs. For example, <a href="https://news.apache.org/foundation/entry/ai-and-open-source-expanding-apache-airflows-global-impact-through-collaboration">here</a> they mention that for a large-scale UI documentation translation task, they &#8220;developed custom tooling that helped to more easily apply regular tools like coding LLM integration to aid translation efforts.&#8221; Their guidelines also mention how the maintainers may proceed if a contributor ignores, repeatedly ignores, or spams the project.</p><h2><strong>Onboard new contributors via structured programs</strong></h2><p>The &#8220;good first issue&#8221; label has become a magnet for automated agents. Thibaud Colas from wagtail <a href="https://wagtail.org/blog/open-source-maintenance-new-contributors-and-ai-agents/">shared</a> that they are now using matchmaking programs like <a href="https://djangonaut.space/">Djangonaut Space</a> or <a href="https://www.outreachy.org/">Outreachy</a> to onboard new contributors. These programs are working for them because they ensure a sustained commitment and human-to-human connection that AI tools cannot replicate.</p><h2><strong>Be open to how contributors may be using AI tools to learn and improve</strong></h2><p>In the <a href="https://mail.python.org/archives/list/numpy-discussion@python.org/thread/LAR7P3KQWHWAIKYSHTS2MY7X4HUBVA3L/">NumPy mailing list</a>, Ralf Gommers from Quansight recently challenged the belief that AI tools are just making contributors dumber, suggesting they can actually facilitate learning. For example, they can be used to automate routine tasks once mastered, brainstorm design options, and write documentation that maintainers may be too busy to produce, among others.</p><h1><strong>Recommendations for contributors</strong></h1><p>Now, let&#8217;s turn to open source contributors who use AI tools.</p><p>In this day and age, it would be unreasonable to expect folks not to use any AI tools. Many of us use these tools one way or another. However, you should never submit contributions without understanding what you&#8217;re submitting.</p><p>Basically, if you are using AI tools to make open source contributions, the goal should be to reach a state of understanding where you no longer need the tool to explain your own work. You should also be spending <em>at least</em> as much time creating your contribution, as it takes a maintainer to review it. <a href="https://llvm.org/docs/AIToolPolicy.html">LLVM&#8217;s</a> golden rule is that a contribution should be worth more to the project than the time it takes to review it.</p><p>As mentioned in the September blog post, below are some recommended ways that you can engage with your AI tools when contributing to open source:</p><ul><li><p><strong>Explain the codebase:</strong> Use tools to help you find where a function is defined or to explain a complex regex. This speeds up your learning curve without adding noise to the issue tracker.</p></li><li><p><strong>Help with boilerplate:</strong> AI is excellent at generating repetitive test structures. Use it for drudgery, but write the logic yourself.</p></li><li><p><strong>Drafting for non-native speakers:</strong> We welcome AI help with English grammar and clarity. This makes open source more accessible.</p></li><li><p><strong>Brainstorming:</strong> Use an LLM to suggest multiple design options. This broadens discovery, but the final decision must be yours.</p></li></ul><p>Below are additional recommendations from others:</p><ul><li><p><strong>Principles for high-quality contributions:</strong> The <a href="https://devguide.python.org/getting-started/generative-ai/">Generative AI</a> policy in the Python Developer&#8217;s Guide recommends that contributors bear in mind four principles when making a contribution: consider whether the change is necessary; make minimal, focused changes; follow existing coding style and patterns; and write tests that exercise the change.</p></li><li><p><strong>Transparency and responsibility: </strong>If you use an AI to help you make your contribution, be honest. Projects like Wagtail now <a href="https://wagtail.org/blog/open-source-maintenance-new-contributors-and-ai-agents/">request explicit disclosure</a> of AI use. You must take full responsibility for every character you submit. If a maintainer asks why a certain choice was made, the answer should never be: &#8220;I am not sure, the AI did it.&#8221;</p></li><li><p><strong>Let the problems find you: </strong>Avoid drive-by portfolio building. Instead of browsing for random issues, follow the advice of <a href="https://github.com/Quansight/Quansight-website/pull/945/changes">Marco Gorelli</a>: contribute to the tools you actually use. When you encounter a bug in your own workflow, turning your frustration into a contribution is the most rewarding way to start. We know it&#8217;s hard to get started with a project. If you&#8217;re genuinely interested, drop a line to a maintainer and ask how you can help.</p></li></ul><p>Our closing message to contributors is: We want to work with you, mentor you, and see you make genuine attempts to solve problems. If you use AI tools to empower your curiosity&#8211;if you are reviewing, testing, and understanding every line you submit&#8211;then you are the kind of contributor we are excited to welcome. If you want to get involved in scikit-learn, check out our guidance for first-time contributors <a href="https://scikit-learn.org/0.21/developers/contributing.html">here</a>.</p><h1><strong>Closing thoughts</strong></h1><p>There are many ways maintainers may decide to tackle the surge of AI-generated contributions to open source projects, and ultimately it&#8217;s up to you and your community to build consensus on <em>your</em> way to go.</p><p>Our bottom line is that since AI tool usage is so prominent now, we should be proactive and intentional about shaping good policies and practices. This is in the long-term interest of our projects and open source in general. This means sharing our learnings, engaging in debate, and building resources together.</p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/p/maintaining-open-source-in-the-age?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">Thanks for reading :probabl.! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/p/maintaining-open-source-in-the-age?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://probabl.substack.com/p/maintaining-open-source-in-the-age?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[Beyond the hype: Charting a new direction for enterprise data science]]></title><description><![CDATA[Fran&#231;ois shares his vision for tackling five major challenges in enterprise data science.]]></description><link>https://probabl.substack.com/p/beyond-the-hype-charting-a-new-direction</link><guid isPermaLink="false">https://probabl.substack.com/p/beyond-the-hype-charting-a-new-direction</guid><dc:creator><![CDATA[François Méro]]></dc:creator><pubDate>Tue, 17 Feb 2026 15:02:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b186f49a-3f72-419b-9609-f42e054830ac_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;105f8e87-7b39-4d86-ba92-c0818883f62c&quot;,&quot;duration&quot;:388.44083,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><p>The data science industry is at an inflection point. We&#8217;re surrounded by high-velocity innovation and new AI technologies that have the potential to create entirely new paradigms for how we work, communicate, and even make decisions.</p><p>This momentum is certainly a testament to the incredible talent and ambition in our industry. But as we push forward, we must acknowledge that the long-term success of enterprise data science is held back by critical challenges&#8211;be it the technology-first mindset that tempts business leaders to replace proven processes with AI tools that promise magic but ultimately deliver opacity, or the spiraling pay-as-you-go costs that hamper economies of scale and all-in strategies that lead to vendor lock-in.</p><p>In light of these industry trends, I would like to suggest a different way forward for enterprise data science; one that turns data science into the industrial-grade practice it deserves to be and one that empowers enterprises to own their data science and ultimately achieve return on the money invested.</p><h1><strong>5 challenges holding back industrial-grade data science</strong></h1><p>Let&#8217;s be brutally honest with ourselves: the practice of industrial-grade data science has not yet achieved its full potential. If we, the data science industry, want to realize the long-term success of enterprise data science, we must ambitiously tackle the challenges that we face. Consider the following five which my team at Probabl and I believe are critical.</p><h4><strong>The rising tide of technology-first thinking</strong></h4><p>New technologies have the potential to create new paradigms and AI tooling momentum tells enterprises that legacy applications and processes must be replaced because AI will surpass human creativity and productivity. When innovation in data science doesn&#8217;t allow you to understand and reuse your existing experiments and models, it creates technical debt and amplifies costs.</p><h4><strong>The pay-as-you-go trap</strong></h4><p>On-demand pricing has become the norm. Pay for compute. Pay for GPUs. Pay for tokens. Costs spiral out of control. Budget forecasting becomes impossible. Scaling your business no longer creates economies of scale, it creates uncontrollable OPEX expansion. When you give your suppliers open-ended access to your bank account, your expansion generates their profits, not yours.</p><h4><strong>All-in strategies create lock-in</strong></h4><p>Cloud-only, GPU-only or AI-only sound like modern and decisive strategies. They create strategic dependencies that contradict long-term value creation. When you lose autonomy, you lose freedom of movement, and your infrastructure decisions become vendor lock-in.</p><h4><strong>Data science has not reached the industrial maturity it deserves</strong></h4><p>Machine learning models rarely make it to production. Experiments are lost when team members leave, and reproducibility remains an aspiration rather than a standard. The discipline has grown in adoption but not always in rigor. Practitioners still reinvent wheels, lack shared quality standards, and operate without the engineering discipline that data science deserves. When most data science work never delivers business value because it can&#8217;t scale beyond notebooks and proof-of-concepts, it&#8217;s the lack of industrial-grade practice.</p><h4><strong>Scientific thinking has been forgotten</strong></h4><p>Data science is not software engineering. It requires a different discipline. Adopting new data science technologies should not undermine peer review, explainability, and ultimately trust. It should not create opacity and remove your control over business-critical systems. Because methodology matters, because statistical rigor matters, because explainability and understanding of your models matters, you should not rush to replace scientific discipline with automated tools that promise magic but deliver opacity.</p><h1><strong>Another way forward: Bringing the science of data to the world</strong></h1><p>To tackle these challenges, we must take a pragmatic shift to the practice of data science. At Probabl, we advocate firmly for an approach that is built on the following principles.</p><h4><strong>Transparency and explainability lead to ownership, trust, and impact</strong></h4><p>When you understand and can see how your models work, you can improve and trust them. Trust enables confidence in your decisions and accountability in your results. Understanding drives business value and competitive advantage.</p><h4><strong>Composability leads to agility and independence</strong></h4><p>We believe in agility and independence. By choosing tools that are modular and plug into your existing stack, you retain the freedom to adapt to change and choose the best tool for each specific use case. This ensures you control your destiny and pay the right price rather than being forced into a walled garden or vendor lock-in.</p><h4><strong>Reusability leads to economies of scale</strong></h4><p>Innovation should not mean that your existing investments become obsolete. When past experiments and models are treated as building blocks, you can build on experience and create true long-term value.</p><h4><strong>Science first</strong></h4><p>Data science was born from the scientific method&#8211;hypothesis, experimentation, measurement, and peer review. These foundations are precisely why data science creates value for enterprises. When science comes first, you start with the problem, not the tool. You validate before you deploy. You question before you trust. Methodology should drive tooling, not the other way around. At Probabl, we advocate for starting with the problem rather than the tool, validating before you deploy, and ensuring methodology drives your tooling, not the other way around.</p><p>By returning to these principles, we can move away from automated tools that promise magic but deliver opacity, and return to the rigor and strategic autonomy that business-critical systems require.</p><h1><strong>Putting these principles into practice</strong></h1><p>Something is brewing at Probabl.</p><p>Just as our founders worked to unify the practice of machine learning with scikit-learn, we have spent the last year building something new for enterprise data science teams&#8211;for those who refuse to choose between scientific rigor and industrial scale; for those who want to move fast without losing control; and indeed for those who want to own their data science.</p><p>Our team standardized machine learning once. Now, we&#8217;re aiming to do the same for the entire enterprise data science practice.</p><p>Don't miss the reveal. To be the first to know what we&#8217;re launching in March, join our <a href="https://probabl.ai/skore">Public Launch Waitlist</a> and follow us on <a href="https://www.linkedin.com/company/probabl/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://probabl.ai/skore&quot;,&quot;text&quot;:&quot;Join Public Launch Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://probabl.ai/skore"><span>Join Public Launch Waitlist</span></a></p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Demystifying table foundation models: The new models expanding the data scientist’s toolkit]]></title><description><![CDATA[Ga&#235;l demystifies table foundation models for data scientists and non-technical readers.]]></description><link>https://probabl.substack.com/p/demystifying-table-foundation-models</link><guid isPermaLink="false">https://probabl.substack.com/p/demystifying-table-foundation-models</guid><pubDate>Thu, 12 Feb 2026 15:51:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0de7681c-3a3b-46be-bc6f-dafed082c907_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;5394be13-4fa8-4a72-877f-531eff6348b6&quot;,&quot;duration&quot;:395.44162,&quot;downloadable&quot;:false,&quot;isEditorNode&quot;:true}"></div><p>Table foundation models (TFMs) are all the rage lately, with promises to extract more value from data in tables, the bread and butter of enterprise data science. However, are they a rupture or a continuity for data science?</p><p>My short answer is that they clearly establish the need for dedicated AI for data science, as opposed to generalist LLMs, but they do not change the nature of data science work.</p><p>In recent years, I&#8217;ve focused on tabular learning in much of my scientific work, as Probabl&#8217;s CSO but even more so as a researcher at Inria, progressively shaping the ideas that led to the rise of TFMs. Just this week, we released TabICLv2 [1], a TFM that is state-of-the-art, visible on public benchmarks, and fully open. Drawing on this experience, I shed light on frequently asked questions about TFMs.</p><h1><strong>What are TFMs?</strong></h1><p>Foundation models are models pretrained on a large amount of data to embed implicit knowledge and priors. They have powered the ChatGPT revolution, providing incredibly useful technology for natural language or images as they understand the information out of the box. But enterprises&#8217; most valuable data is in tables, and often full of cryptic numbers and codes. Foundation models have long been unable to help process such data, where traditional machine learning shines, from linear models to gradient-boosted trees.</p><p>With recent progress, TFMs are pushing the boundaries of tabular machine learning. There are two alleys of progress: one based on capturing semantics of the strings in tables, another on modeling better numbers, which are crucial to tabular data. This second alley is where we have seen most excitement, illustrated by popular tools such as TabPFN and TabICL.</p><h1><strong>What do TFMs bring to the table?</strong></h1><p>TFMs are really tabular learners on steroids. Their benefits are visible on the classic tabarena benchmark [2]. For instance, the figure below (from [1]) positions TabICL and TabPFN on this benchmark, showing how TFMs reduce the gap to the smallest achieved prediction error: a 5-fold reduction compared to random forest and a 3-fold reduction compared to XGBoost. However, this error reduction comes at a cost: state-of-the-art TFMs are 3 times more expensive than XGBoost and 20 times more expensive than random forests. In addition, for mid-sized or largish tables, TFMs require large GPUs, which are rare resources.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UvfQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UvfQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 424w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 848w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 1272w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UvfQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.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;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Demystifying table foundation models: Improvability vs train time of tabular foundation models benchmarked on TabArena on Hugging Face&quot;,&quot;title&quot;:null,&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="Demystifying table foundation models: Improvability vs train time of tabular foundation models benchmarked on TabArena on Hugging Face" title="Demystifying table foundation models: Improvability vs train time of tabular foundation models benchmarked on TabArena on Hugging Face" srcset="https://substackcdn.com/image/fetch/$s_!UvfQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 424w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 848w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 1272w, https://substackcdn.com/image/fetch/$s_!UvfQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ebdd81-9a54-4d5c-b2af-fedeaff6ce99_1400x889.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em><strong>Figure 1: </strong>Improvability vs. train time on TabArena [1]</em></figcaption></figure></div><h1><strong>Machine learning concepts that are useful for understanding TFMs</strong></h1><p>First, the game underlying machine learning or statistics has always been to design &#8220;the right model&#8221; for given data. A model too simple will not make good use of the data. But a model too complex leads to noisy predictions. Better models use priors and inductive biases adapted to the properties of the data to give only the right flexibility. The new ingredient in TFMs is that these priors and inductive biases are created by pretraining.</p><p>Another aspect of current TFMs is that they heavily rely on transformers and &#8220;in-context learning&#8221;. They still appear as standard machine learning tools, but not much happens during fit: the training data are merely stored. For prediction, given new data, the training data are then used as context for the test data. In a sense, this is a mechanism well known in machine learning, as it is akin to what the nearest neighbor methods do. A simplified but useful view of TFMs is that they combine complex transformations of the input data with a nearest-neighbors mechanism.</p><p>For the machine learning experts, a better analogy for the prediction mechanism of TFMs might be that of kernel machines, such as the classic SVM. Indeed TFMs make their predictions by combining information not limited to a small number of nearest neighbors, but by pooling across all training data if useful.</p><h1><strong>Pushing TFMs&#8217; promises further</strong></h1><p>Where TFMs can be game changers is by making the most of small data, &#8220;few-shot predictions&#8221;, as this is where prior knowledge is make-or-break. To draw a parallel to LLMs: LLMs can solve so many useful problems by drawing analogies to problems that they have seen in the past. In the case of tables, strings (like &#8216;Paris&#8217; or &#8220;frying pan&#8221;) in table entries and column names, among others, offer incredible promise to connect much more easily to prior knowledge than numbers. This promise is sketched in our 2024 paper [3] on the CARTE tabular model, as well as in Fundamental&#8217;s whitepaper [4] on the Nexus TFMs.</p><p>The dream is to bring as much as possible world and procedural knowledge into the analysis of tables. Our experience is that combining tabular models with LLMs to encode strings (for instance, using skrub&#8217;s TextEncoder [5]) already brings large benefits.</p><h1><strong>Where are TFMs the most useful?</strong></h1><p>The asset of TFMs is that they can give strong predictions from limited data without relying on careful data preparation. For large datasets (more than 100,000 data points), other models often catch up while TFMs&#8217; quadratic computational cost is a burden.</p><h1><strong>Is training data no longer important?</strong></h1><p>The few-shot prediction ability of TFMs may be understood as removing the importance of training data. Labeled data is still needed with TFMs, and more labeled data will improve data science. Not only does more labeled data lead to better performing models, but also it ensures good validation of the data science pipeline. <strong>And</strong> <strong>validation of the data science pipeline is a frequent bottleneck</strong>.</p><p>Likewise, there is still the associated training computation to consider. In the case of TFMs, it just happens at prediction time and not at fit time. This can be a problem, as it pushes cost to inference, and specific techniques are developed to decrease this cost, such as distillation.</p><h1><strong>My conclusion: No free lunch for the data scientist</strong></h1><p>TFMs give amazing tools to tackle a well-framed data science problem. But it is important to keep in mind that often, the bottleneck in data science is exactly framing the problem: finding the right data, the right prediction, and the right measure to optimize [6,7]. TFMs do offer benefits here, as they enable fast iterations with models that tend to work well out of the box. However, they are not a magic bullet: the data scientist is still faced with the important challenge of understanding data and applications, and bridging the gap between the two.</p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p><strong>References:</strong></p><p>[1] Jingang Qu, David Holzm&#252;ller, Ga&#235;l Varoquaux, Marine Le Morvan. (2026). TabICLv2: A better, faster, scalable, and open tabular foundation model. <a href="https://arxiv.org/abs/2602.11139">https://arxiv.org/abs/2602.11139</a> Code: <a href="https://github.com/soda-inria/tabicl">https://github.com/soda-inria/tabicl</a> Installation: <a href="https://pypi.org/project/tabicl/">https://pypi.org/project/tabicl/</a></p><p>[2] Erickson, N., Purucker, L., Tschalzev, A., Holzm&#252;ller, D., Desai, P. M., Salinas, D., &amp; Hutter, F. (2025). Tabarena: A living benchmark for machine learning on tabular data. <a href="https://arxiv.org/abs/2506.16791">https://arxiv.org/abs/2506.16791</a></p><p>[3] CARTE: pretraining and transfer for tabular learning, MJ Kim, L Grinsztajn, G Varoquaux, ICML 2024. Find via: <a href="https://github.com/soda-inria/carte">arXiv preprint</a>, <a href="https://github.com/soda-inria/carte">GitHub repo</a>, <a href="https://huggingface.co/datasets/inria-soda/carte-benchmark">HF repo</a>: an early paper introducing the idea of bringing background knowledge to tabular learning via strong.</p><p>[4] Marta Garnelo, Wojciech Marian Czarnecki. (2026). Developing Foundation Models for Real-World Tabular Data. <a href="https://fun-research-whitepaper.s3.us-west-1.amazonaws.com/public/Fundamental_Whitepaper.pdf">https://fun-research-whitepaper.s3.us-west-1.amazonaws.com/public/Fundamental_Whitepaper.pdf</a> The whitepaper of fundamental, probably the largest TFM startup. It describes the importance of rich joint modeling of the data at hand and prior knowledge</p><p>[5] skrub TextEncoder: Encode string features by applying a pretrained language model downloaded from the Hugging Face Hub. <a href="https://skrub-data.org/stable/reference/generated/skrub.TextEncoder.html">https://skrub-data.org/stable/reference/generated/skrub.TextEncoder.html</a></p><p>[6] Unpacking the craft of an applied machine learning product manager, Sanjana Arun, <a href="https://www.productledalliance.com/unpacking-the-craft-of-an-applied-machine-learning-product-manager/?utm_source=ghost&amp;utm_medium=email&amp;utm_campaign=insider_newsletter">https://www.productledalliance.com/unpacking-the-craft-of-an-applied-machine-learning-product-manager/?utm_source=ghost&amp;utm_medium=email&amp;utm_campaign=insider_newsletter</a> where Sanjana discuss the importance of understanding how to provide downstream value : define the right measure is more often the bottleneck than the model to optimize it</p><p>[7] Lucas Bernardi, Themistoklis Mavridis, and Pablo Estevez. 2019. 150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining (KDD &#8216;19). Association for Computing Machinery, New York, NY, USA, 1743&#8211;1751. <a href="https://doi.org/10.1145/3292500.3330744">https://doi.org/10.1145/3292500.3330744</a> This retrospective analysis of the factors of success of data-science projects at <a href="http://booking.com">booking.com</a> highlights the danger of disconnection between the data-science metric optimized and the downstream value.</p>]]></content:encoded></item><item><title><![CDATA[The global pulse of open source: Insights from GitHub and scikit-learn]]></title><description><![CDATA[Yann discusses data-driven insights from the GitHub Innovation Graph and scikit-learn.]]></description><link>https://probabl.substack.com/p/the-global-pulse-of-open-source-insights</link><guid isPermaLink="false">https://probabl.substack.com/p/the-global-pulse-of-open-source-insights</guid><dc:creator><![CDATA[Yann Lechelle]]></dc:creator><pubDate>Thu, 05 Feb 2026 14:13:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4c6a7f18-2adb-41e6-b2f3-bebe934f4bd4_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-audio-embed" data-component-name="AudioPlaceholder" data-attrs="{&quot;label&quot;:null,&quot;mediaUploadId&quot;:&quot;c061272d-efab-4e39-a9b6-e4b3389f3282&quot;,&quot;duration&quot;:203.54613,&quot;downloadable&quot;:true,&quot;isEditorNode&quot;:true}"></div><p>GitHub just released fresh data from the <a href="https://innovationgraph.github.com/">GitHub Innovation Graph</a>, providing accessible data and aggregated statistics on software development activity around the world in the millions of public repositories hosted on the platform. As the software company committed to the stewardship and long-term success of <a href="https://scikit-learn.org/stable/">scikit-learn</a>, this data is invaluable for us at <a href="https://probabl.ai/">Probabl</a> in helping us understand global trends in open source and to situate scikit-learn in them.</p><p>The data paints a clear picture of the global nature of open source. We see that the EU is now the world leader by some metrics like git pushes, unthroning the USA for the first time. At the same time, the USA leads when it comes to the number of developers on GitHub (30 million!). Countries like India, the UK, Brazil, Korea, Japan, and China, among many others, are also world-leading hubs of open source software development on GitHub [1].</p><p>The data also underlines that national or regional economies are not islands: open source thrives because of global interlinkages and collaboration. For example, in 2025, EU-based open source projects received millions of code contributions from developers across the world, including the USA (over 934,000), UK (over 553,000), and India (over 347,000).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Vua!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Vua!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 424w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 848w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 1272w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Vua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png" width="1456" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:491463,&quot;alt&quot;:&quot;GitHub Innovation Graph: Top 20 econonies by Git pushes&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/186976982?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GitHub Innovation Graph: Top 20 econonies by Git pushes" title="GitHub Innovation Graph: Top 20 econonies by Git pushes" srcset="https://substackcdn.com/image/fetch/$s_!5Vua!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 424w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 848w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.png 1272w, https://substackcdn.com/image/fetch/$s_!5Vua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b8d2d0-3fa2-4bc4-94a0-b6b0ebe1c764_1754x1314.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><em>Source: <a href="https://github.blog/news-insights/policy-news-and-insights/year-recap-and-future-goals-for-the-github-innovation-graph/">GitHub (2026), Year recap and future goals for the GitHub Innovation Graph</a>.</em></p><p>These stats resonate with us at Probabl as the steward of scikit-learn, the global open standard framework for machine learning with <a href="https://clickpy.clickhouse.com/dashboard/scikit-learn">3.9 billion downloads</a> and <a href="https://github.com/scikit-learn/scikit-learn">1.3 million dependants on GitHub</a>. </p><p>While most core contributors are based in the EU (in particular, France and Germany), scikit-learn also counts on core contributors from the USA, Australia, and China. scikit-learn also receives a lion&#8217;s share of its issue reports and pull requests from developers all over the world. As this map from <a href="https://ossinsight.io/analyze/scikit-learn/scikit-learn#overview">OSS Insights</a> shows, most pull requests come from developers in the USA, India, Germany, France, the UK, Canada, Japan, and China, among others. The bottom line: the scikit-learn ecosystem is a global ecosystem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uXlP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uXlP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 424w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 848w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 1272w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uXlP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:610180,&quot;alt&quot;:&quot;OSS Insights: Pull request (PR) creators in the scikit-learn project - USA, Europe, China, India, Japan, Australia, Brazil, and more.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/186976982?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OSS Insights: Pull request (PR) creators in the scikit-learn project - USA, Europe, China, India, Japan, Australia, Brazil, and more." title="OSS Insights: Pull request (PR) creators in the scikit-learn project - USA, Europe, China, India, Japan, Australia, Brazil, and more." srcset="https://substackcdn.com/image/fetch/$s_!uXlP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 424w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 848w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 1272w, https://substackcdn.com/image/fetch/$s_!uXlP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe80bab95-7cea-4b98-9682-985ab64510f1_2850x1556.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Source: <a href="https://ossinsight.io/analyze/scikit-learn/scikit-learn#overview">OSS Insights (2026), scikit-learn</a><br></em></p><p>In terms of users, scikit-learn has the wind in its sails with a growing curve of downloads (around <a href="https://clickpy.clickhouse.com/dashboard/scikit-learn">150 million new downloads per month</a>). Interestingly, when viewed alongside libraries like PyTorch, the global standard for deep learning, scikit-learn maintains a significantly broader footprint in terms of downloads, reflecting the vast and growing demand for classical machine learning across almost every industry [2].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!43c0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!43c0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 424w, https://substackcdn.com/image/fetch/$s_!43c0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 848w, https://substackcdn.com/image/fetch/$s_!43c0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 1272w, https://substackcdn.com/image/fetch/$s_!43c0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!43c0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png" width="1390" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1390,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103483,&quot;alt&quot;:&quot;Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://probabl.substack.com/i/186976982?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml." title="Yearly downloads of open source libraries for machine learning and deep learning: scikit-learn, pytorch, tensorflow, xgboost, catboost, cuml." srcset="https://substackcdn.com/image/fetch/$s_!43c0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 424w, https://substackcdn.com/image/fetch/$s_!43c0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 848w, https://substackcdn.com/image/fetch/$s_!43c0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 1272w, https://substackcdn.com/image/fetch/$s_!43c0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b4e2918-9249-4551-ab19-67308cab2201_1390x790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><em>Source: Our own analysis of pypi and conda downloads (2023-2025)</em></p><p>At Probabl, we&#8217;re regularly analyzing the underlying causes and trends behind the skyrocketing growth of the scikit-learn ecosystem. One thing is for sure: the users and downloaders are global. Hey GitHub Research Team, we should partner up and investigate usage trends together!</p><p>Thank you to the GitHub team for making this data available. We recommend reading more about the <a href="https://github.blog/news-insights/policy-news-and-insights/year-recap-and-future-goals-for-the-github-innovation-graph/">GitHub Innovation Graph</a> and diving into the data. And, of course, a big thank you to everyone worldwide who contributes to <a href="http://scikit-learn.org/">scikit-learn</a> in one way or another!</p><h1>For more from Probabl:</h1><ul><li><p>Follow our latest updates on <a href="https://www.linkedin.com/company/probabl">LinkedIn</a></p></li><li><p>Subscribe to our <a href="https://hello.probabl.ai/subscribe-probabl-newsletter">monthly newsletter</a></p></li><li><p>Check out our technical explainer videos on <a href="https://www.youtube.com/@probabl_ai">YouTube</a></p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://probabl.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading :probabl.! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p><strong>Notes:</strong></p><p>[1] We suspect China is underrepresented in these numbers, possibly due to unreported geolocations and/or use of Chinese alternatives like gitee. For example, there&#8217;s a scikit-learn mirror on Gitee: <a href="https://gitee.com/mirrors/scikit-learn">https://gitee.com/mirrors/scikit-learn</a></p><p>[2] We acknowledge that pypi downloads are not the only way to download a python library and therefore the download stats may be incomplete for scikit-learn and/or PyTorch.</p>]]></content:encoded></item></channel></rss>