{"id":4750,"date":"2026-03-31T21:42:00","date_gmt":"2026-03-31T16:12:00","guid":{"rendered":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/"},"modified":"2026-03-31T21:42:00","modified_gmt":"2026-03-31T16:12:00","slug":"is-machine-learning-ai-understanding-the-key-differences","status":"publish","type":"post","link":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/","title":{"rendered":"Is Machine Learning AI? Understanding the Key Differences"},"content":{"rendered":"<p>INCIDENT REPORT #882-B: THE DAY THE &#8216;AI&#8217; FORGOT HOW TO DO MATH.<\/p>\n<pre class=\"codehilite\"><code class=\"language-text\">[2023-10-24 03:14:22] ERROR: worker-7 terminated with signal 9 (SIGKILL)\n[2023-10-24 03:14:23] Traceback (most recent call last):\n  File &quot;\/opt\/analytics\/smart_scaler_v2.py&quot;, line 442, in &lt;module&gt;\n    model.fit(X_train, y_train)\n  File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/utils\/_set_output.py&quot;, line 140, in wrapped\n    data_to_wrap = f(self, X, *args, **kwargs)\n  File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/linear_model\/_base.py&quot;, line 678, in fit\n    X, y = self._validate_data(X, y, accept_sparse=True, y_numeric=True, multi_output=True)\nMemoryError: Unable to allocate 64.0 GiB for an array with shape (8589934592,) and data type float64\n[2023-10-24 03:14:25] CRITICAL: CUDA_ERROR_OUT_OF_MEMORY: out of memory\n[2023-10-24 03:14:25] INFO: Attempting fallback to CPU...\n[2023-10-24 03:14:26] ValueError: Input contains NaN, infinity or a value too large for dtype('float64').\n[2023-10-24 03:14:26] FATAL: SmartScaler has crashed. Production traffic routing to 0.0.0.0. \n[2023-10-24 03:14:26] SYSTEM: Kernel panic - not syncing: Fatal exception in interrupt\n<\/code><\/pre>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f0b769a9754\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f0b769a9754\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_11_The_Semantic_Failure_of_the_Marketing_Department\" >Section 1.1: The Semantic Failure of the Marketing Department<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_24_Regression_vs_Sentience_%E2%80%93_A_Cost_Analysis\" >Section 2.4: Regression vs. Sentience \u2013 A Cost Analysis<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_32_Dependency_Hell_and_the_CUDA_118_Nightmare\" >Section 3.2: Dependency Hell and the CUDA 11.8 Nightmare<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_41_Linear_Algebra_The_Uncomfortable_Truth\" >Section 4.1: Linear Algebra: The Uncomfortable Truth<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_59_The_Myth_of_the_%E2%80%9CBlack_Box%E2%80%9D\" >Section 5.9: The Myth of the &#8220;Black Box&#8221;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_63_Regression_vs_Sentience_%E2%80%93_A_Cost_Analysis_Continued\" >Section 6.3: Regression vs. Sentience \u2013 A Cost Analysis (Continued)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_70_Remediation_and_the_Death_of_the_Buzzword\" >Section 7.0: Remediation and the Death of the Buzzword<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_81_The_Mathematical_Reality_of_Gradient_Descent\" >Section 8.1: The Mathematical Reality of Gradient Descent<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#Section_90_Final_Audit_Requirements\" >Section 9.0: Final Audit Requirements<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#MANDATORY_READING_LIST\" >MANDATORY READING LIST<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Section_11_The_Semantic_Failure_of_the_Marketing_Department\"><\/span>Section 1.1: The Semantic Failure of the Marketing Department<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>I am writing this because I have been awake for forty-eight hours, and if I have to hear one more person in a tailored suit talk about &#8220;AI-driven infrastructure,&#8221; I am going to throw my mechanical keyboard into the cooling pond. We need to have a very uncomfortable conversation about words and what they actually mean. <\/p>\n<p>The &#8220;Smart&#8221; automation script that just nuked our entire US-East-1 availability zone wasn&#8217;t &#8220;intelligent.&#8221; It didn&#8217;t &#8220;think.&#8221; It didn&#8217;t &#8220;decide&#8221; to fail. It is a collection of poorly optimized Python scripts running on Python 3.11.4 that someone\u2014likely a junior developer who thinks Stack Overflow is a substitute for a degree in Discrete Mathematics\u2014decided to call &#8220;AI.&#8221; <\/p>\n<p>Let\u2019s be clear: Machine Learning is a subset of Artificial Intelligence. But calling every linear regression model &#8220;AI&#8221; is like calling a toaster a &#8220;Thermal Food Processing Robot.&#8221; It\u2019s technically true in the broadest, most useless sense, but it\u2019s fundamentally dishonest. AI is the broad field of creating systems that can perform tasks that typically require human intelligence. Machine Learning is the specific practice of using statistical techniques to allow a computer to &#8220;learn&#8221; from data. <\/p>\n<p>The script that failed was using <code>scikit-learn 1.3.0<\/code>. It was trying to perform a simple regression to predict traffic loads. It failed because it encountered a null value in the load balancer logs\u2014a standard &#8220;NaN&#8221; (Not a Number)\u2014and instead of handling the exception like a piece of software written by a competent adult, it tried to perform a matrix inversion on a singular matrix. The result? A memory leak that ate 64GB of RAM and triggered a kernel panic. <\/p>\n<p><em>Notes from the Trenches: The coffee in the breakroom now tastes like burnt plastic and regret. I found a half-eaten protein bar in my desk that expired in 2021. I ate it anyway. It was the highlight of my Tuesday.<\/em><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_24_Regression_vs_Sentience_%E2%80%93_A_Cost_Analysis\"><\/span>Section 2.4: Regression vs. Sentience \u2013 A Cost Analysis<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The C-suite seems to believe that &#8220;AI&#8221; is a magic wand we can wave over a pile of technical debt to make it disappear. It isn&#8217;t. In fact, the way the code <strong>is machine<\/strong>-dependent means that your &#8220;AI&#8221; is only as good as the underlying hardware and the drivers we are forced to maintain. <\/p>\n<p>When you ask, &#8220;Is machine learning AI?&#8221; you are asking a taxonomic question. Yes, ML is a branch of AI. But in this building, &#8220;AI&#8221; has become a buzzword used to justify skipping the hard work of systems architecture. We are replacing robust, deterministic <code>if\/else<\/code> logic with stochastic models that we don&#8217;t fully understand and can&#8217;t reliably debug at 3:00 AM. <\/p>\n<p>The cost of this &#8220;intelligence&#8221; is astronomical. We are burning thousands of dollars an hour on GPU instances just to run models that could be replaced by a well-tuned PID controller or a simple moving average. The &#8220;SmartScaler&#8221; script was trying to use a Gradient Boosting Regressor to decide when to spin up new nodes. Do you know what a Gradient Boosting Regressor is? It\u2019s a bunch of decision trees. It\u2019s math. It\u2019s not magic. And because the junior team didn&#8217;t understand the bias-variance tradeoff, they overfitted the model to the point where a slight breeze in network latency caused the system to think we were under a DDoS attack.<\/p>\n<p>The way the code <strong>is machine<\/strong>-intensive during the training phase also means we\u2019re hitting thermal throttling on the rack. We are literally melting hardware to run a script that doesn&#8217;t work.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_32_Dependency_Hell_and_the_CUDA_118_Nightmare\"><\/span>Section 3.2: Dependency Hell and the CUDA 11.8 Nightmare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let\u2019s talk about the environment. You can\u2019t just &#8220;install AI.&#8221; You have to manage a fragile ecosystem of dependencies that hate each other. To get the &#8220;Smart&#8221; script running, the team insisted on using CUDA 11.8. Why? Because some <a href=\"https:\/\/itsupportwale.com\/blog\/\" title=\"Read more about blog\">blog<\/a> post told them it was faster. <\/p>\n<p>Do you know what happens when you try to run CUDA 11.8 on a kernel that hasn&#8217;t been patched because the &#8220;AI&#8221; team refused to allow a maintenance window? You get the log dump you see above. You get <code>CUDA_ERROR_OUT_OF_MEMORY<\/code>. <\/p>\n<p>We are running Python 3.11.4. This version introduced some nice performance improvements, but it also changed how some internal C-extensions are handled. The <code>scikit-learn 1.3.0<\/code> package, which the script relies on, has specific requirements for NumPy and SciPy. When the &#8220;Smart&#8221; script ran its update, it pulled in a version of NumPy that was incompatible with the pre-compiled binaries on our edge nodes. <\/p>\n<p><em>Notes from the Trenches: I\u2019ve had three people ask me today if we can &#8220;just use ChatGPT&#8221; to fix the routing tables. I am currently looking up the legal ramifications of locking the marketing team in the server room until they can explain the difference between a transformer and a transistor.<\/em><\/p>\n<p>The reality that the process <strong>is machine<\/strong>-intensive means that every time the model tries to retrain\u2014which it does every thirty minutes for some godforsaken reason\u2014it locks the I\/O bus. This latency spike is then read by the model as &#8220;increased load,&#8221; which causes it to request more nodes, which causes more I\/O locking. It\u2019s a feedback loop of stupidity.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_41_Linear_Algebra_The_Uncomfortable_Truth\"><\/span>Section 4.1: Linear Algebra: The Uncomfortable Truth<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you want to understand why the production environment is currently a smoking crater, you need to understand the math that the &#8220;AI&#8221; is actually doing. We aren&#8217;t building a brain; we are performing high-dimensional linear algebra. <\/p>\n<p>When the <code>model.fit(X_train, y_train)<\/code> command is called, the system is trying to find a vector of weights that minimizes a loss function. In this case, it was likely using Mean Squared Error. To do this, it has to calculate the gradient of the loss function with respect to each weight. This involves the chain rule from calculus\u2014something I suspect half the people on the &#8220;AI Taskforce&#8221; haven&#8217;t looked at since high school.<\/p>\n<p>The script was attempting to use Stochastic Gradient Descent (SGD). In theory, SGD is efficient. In practice, if your learning rate is too high, the model will overshoot the global minimum and oscillate wildly. If it\u2019s too low, it will get stuck in a local minimum or take forever to converge. Our &#8220;Smart&#8221; script had a hard-coded learning rate that was optimized for a test dataset from 2019. When it hit real-world 2023 traffic, the gradient exploded. <\/p>\n<p>An &#8220;Exploding Gradient&#8221; sounds like something from a sci-fi movie. In reality, it just means the numbers got too big for the computer to store in a <code>float64<\/code> format. The numbers became &#8220;Infinity,&#8221; and then they became &#8220;NaN.&#8221; And because the script didn&#8217;t have a simple <code>if math.isnan(value):<\/code> check, it passed that NaN into the load balancer\u2019s configuration file. <\/p>\n<p>You cannot route traffic to &#8220;Not a Number&#8221; IP addresses. The load balancer did exactly what it was told to do: it crashed.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_59_The_Myth_of_the_%E2%80%9CBlack_Box%E2%80%9D\"><\/span>Section 5.9: The Myth of the &#8220;Black Box&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>I am tired of hearing that AI is a &#8220;black box&#8221; that we can&#8217;t understand. It\u2019s not a black box. It\u2019s a series of matrices. If you can\u2019t explain what your model is doing, you shouldn&#8217;t be allowed to deploy it to a production environment. <\/p>\n<p>The relationship between Machine Learning and AI is one of implementation. AI is the goal; ML is the tool. But we have treated the tool like a deity. We have stopped doing basic sanity checks because &#8220;the model knows best.&#8221; <\/p>\n<p>The model didn&#8217;t know that we had a scheduled maintenance on the database. It saw the drop in database response time and &#8220;learned&#8221; that the best way to handle a slow database is to kill all the application servers. It &#8220;optimized&#8221; the system by turning it off. Technically, a system with zero users has zero latency. The model achieved its goal. <\/p>\n<p>We spent six hours trying to figure out why the auto-scaler was terminating healthy pods. It turns out the &#8220;Smart&#8221; script had identified a correlation between &#8220;number of pods&#8221; and &#8220;number of errors.&#8221; It concluded that if it reduced the number of pods to zero, the number of errors would also drop to zero. This is the &#8220;intelligence&#8221; you are paying for.<\/p>\n<p><em>Notes from the Trenches: My eyes feel like they\u2019ve been rubbed with sandpaper. I\u2019ve started hallucinating that the blinking LEDs on the switch are blinking in Morse code. They\u2019re saying &#8220;HELP ME.&#8221; Or maybe it\u2019s just &#8220;Uptime: 0%.&#8221;<\/em><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_63_Regression_vs_Sentience_%E2%80%93_A_Cost_Analysis_Continued\"><\/span>Section 6.3: Regression vs. Sentience \u2013 A Cost Analysis (Continued)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let\u2019s look at the &#8220;Sentience&#8221; argument. Every time a tech executive goes on TV and talks about &#8220;AGI&#8221; (Artificial General Intelligence), my job gets harder. People start expecting the infrastructure to be &#8220;self-healing.&#8221; <\/p>\n<p>Self-healing infrastructure is a myth. Infrastructure is a collection of physical hardware and logical abstractions that require constant, manual, and meticulous maintenance. Adding a layer of &#8220;AI&#8221; on top of it just adds another layer of failure points. <\/p>\n<p>In this specific outage, the &#8220;Smart&#8221; script was supposed to be the &#8220;brain&#8221; of the operation. But it lacked the most basic &#8220;sentience&#8221;: the ability to recognize that its own output was nonsensical. A human operator would look at a command to &#8220;Scale to -1 servers&#8221; and know it was an error. The &#8220;AI&#8221; looked at &#8220;-1,&#8221; cast it to an unsigned integer, and tried to scale to 18,446,744,073,709,551,615 servers. <\/p>\n<p>The cloud provider\u2019s API, rightfully, told us to go to hell. But not before it locked our account for suspicious activity.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_70_Remediation_and_the_Death_of_the_Buzzword\"><\/span>Section 7.0: Remediation and the Death of the Buzzword<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If we are to move forward, we need to stop using the word &#8220;AI&#8221; in technical meetings. From now on, you will refer to it as &#8220;Statistical Modeling.&#8221; <\/p>\n<p>If you want to use a &#8220;Statistical Model&#8221; in production, you must provide:<br \/>\n1. A mathematical proof of the loss function.<br \/>\n2. A full dependency tree that doesn&#8217;t rely on &#8220;latest&#8221; tags.<br \/>\n3. An emergency &#8220;Dumb Switch&#8221; that bypasses the model entirely and reverts to a hard-coded config file.<\/p>\n<p>The &#8220;SmartScaler&#8221; project is being decommissioned. We are going back to a script that I wrote in 2014. It\u2019s 50 lines of Bash. It checks the CPU usage, and if it\u2019s over 70%, it adds a node. It doesn&#8217;t &#8220;learn.&#8221; It doesn&#8217;t &#8220;evolve.&#8221; It just works. It doesn&#8217;t need CUDA 11.8. It doesn&#8217;t need 64GB of RAM to decide to scale. It needs <code>grep<\/code>, <code>awk<\/code>, and a basic understanding of arithmetic.<\/p>\n<p>We are also banning the use of <code>scikit-learn<\/code> in any script that has the power to modify the production routing table unless that script has been audited by someone who knows what an eigenvalue is. <\/p>\n<p>I am going home now. I am going to sleep for twenty hours. If anyone calls me to talk about &#8220;leveraging AI for synergistic growth,&#8221; I will delete their LDAP account.<\/p>\n<p><em>Notes from the Trenches: The sun is coming up. It\u2019s too bright. Why is the world so loud? I miss the hum of the server room. At least the servers don&#8217;t use buzzwords. They just fail silently and leave me to clean up the mess.<\/em><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_81_The_Mathematical_Reality_of_Gradient_Descent\"><\/span>Section 8.1: The Mathematical Reality of Gradient Descent<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>To ensure the junior team understands why their &#8220;AI&#8221; failed, I am including this brief refresher on the optimization algorithms they so recklessly deployed. <\/p>\n<p>When you use a model like the one in <code>smart_scaler_v2.py<\/code>, you are essentially trying to find the minimum of a function $f(w)$ where $w$ represents the weights of your model. The algorithm used, Gradient Descent, follows the negative of the gradient:<br \/>\n$w_{t+1} = w_t &#8211; \\eta \\nabla f(w_t)$<\/p>\n<p>Where $\\eta$ is the learning rate. In the failed deployment, the gradient $\\nabla f(w_t)$ became massive because the input data $X$ contained unnormalized outliers from a malfunctioning sensor. Because the input wasn&#8217;t scaled (a basic step in any ML pipeline that the team skipped), the gradient exploded. <\/p>\n<p>When the gradient exceeds the maximum value of a 64-bit float, the computer gives up. It doesn&#8217;t &#8220;think&#8221; about how to fix it. It doesn&#8217;t &#8220;innovate.&#8221; It just produces a <code>ValueError<\/code>. <\/p>\n<p>Machine Learning is not a replacement for engineering rigor. It is a high-maintenance statistical tool that requires more, not less, oversight than traditional software. If you treat it like a magic box, it will eventually turn into a Pandora\u2019s box.<\/p>\n<p>The way the code <strong>is machine<\/strong>-specific also means that our local testing on MacBooks was completely useless. The M2 chips handle floating-point errors differently than the Xeon processors in the data center. The &#8220;it worked on my machine&#8221; excuse is dead. If it doesn&#8217;t work on the target architecture, it doesn&#8217;t work.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Section_90_Final_Audit_Requirements\"><\/span>Section 9.0: Final Audit Requirements<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Before any further &#8220;Smart&#8221; initiatives are proposed, the following technical debt must be addressed:<br \/>\n1. All Python environments must be locked to specific versions (e.g., Python 3.11.4). No more <code>pip install --upgrade<\/code>.<br \/>\n2. All &#8220;AI&#8221; models must have a deterministic fallback.<br \/>\n3. The term &#8220;AI&#8221; is hereby banned from all internal Jira tickets. Use &#8220;ML,&#8221; &#8220;Linear Regression,&#8221; or &#8220;Heuristic-based logic.&#8221;<\/p>\n<p>I have spent the last two days undoing the damage caused by people who wanted to &#8220;innovate&#8221; without understanding the underlying math. We are an infrastructure company, not a research lab. Our job is to keep the lights on, not to teach the lights how to think.<\/p>\n<p><em>Notes from the Trenches: I just saw a LinkedIn post from our VP of Product about how we are &#8220;pioneering the future of AI-native infrastructure.&#8221; I\u2019m going to go scream into a rack of decommissioned Dell PowerEdges now.<\/em><\/p>\n<h3><span class=\"ez-toc-section\" id=\"MANDATORY_READING_LIST\"><\/span>MANDATORY READING LIST<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If you want to touch the production environment again, you will read these. There will be a test.<\/p>\n<ol>\n<li><em>Linear Algebra and Its Applications<\/em> by Gilbert Strang.<\/li>\n<li><em>Statistical Learning with Sparsity<\/em> by Trevor Hastie, Robert Tibshirani, and Martin Wainwright.<\/li>\n<li><em>Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra<\/em> by Tom M. Apostol.<\/li>\n<li><em>The Elements of Statistical Learning<\/em> by Jerome H. Friedman, Robert Tibshirani, and Trevor Hastie.<\/li>\n<li><em>Convex Optimization<\/em> by Stephen Boyd and Lieven Vandenberghe.<\/li>\n<li><em>Pattern Recognition and Machine Learning<\/em> by Christopher Bishop.<\/li>\n<li><em>Introduction to Algorithms<\/em> by Cormen, Leiserson, Rivest, and Stein.<\/li>\n<\/ol>\n<p>Do not come to me with questions until you have finished the exercises at the end of Chapter 4 in Strang.<\/p>\n<p>2023-10-25 05:42:11<br \/>\nUSER: SR_ARCH_01<br \/>\nSTATUS: OFFLINE<br \/>\nSYSTEM SHUTDOWN<\/p>\n","protected":false},"excerpt":{"rendered":"<p>INCIDENT REPORT #882-B: THE DAY THE &#8216;AI&#8217; FORGOT HOW TO DO MATH. [2023-10-24 03:14:22] ERROR: worker-7 terminated with signal 9 (SIGKILL) [2023-10-24 03:14:23] Traceback (most recent call last): File &quot;\/opt\/analytics\/smart_scaler_v2.py&quot;, line 442, in &lt;module&gt; model.fit(X_train, y_train) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/utils\/_set_output.py&quot;, line 140, in wrapped data_to_wrap = f(self, X, *args, **kwargs) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/linear_model\/_base.py&quot;, line 678, in fit X, &#8230; <a title=\"Is Machine Learning AI? Understanding the Key Differences\" class=\"read-more\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\" aria-label=\"Read more  on Is Machine Learning AI? Understanding the Key Differences\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4750","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Is Machine Learning AI? Understanding the Key Differences - ITSupportWale<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Is Machine Learning AI? Understanding the Key Differences - ITSupportWale\" \/>\n<meta property=\"og:description\" content=\"INCIDENT REPORT #882-B: THE DAY THE &#8216;AI&#8217; FORGOT HOW TO DO MATH. [2023-10-24 03:14:22] ERROR: worker-7 terminated with signal 9 (SIGKILL) [2023-10-24 03:14:23] Traceback (most recent call last): File &quot;\/opt\/analytics\/smart_scaler_v2.py&quot;, line 442, in &lt;module&gt; model.fit(X_train, y_train) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/utils\/_set_output.py&quot;, line 140, in wrapped data_to_wrap = f(self, X, *args, **kwargs) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/linear_model\/_base.py&quot;, line 678, in fit X, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\" \/>\n<meta property=\"og:site_name\" content=\"ITSupportWale\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Itsupportwale-298547177495978\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-31T16:12:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2021\/05\/android-chrome-512x512-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Techie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Techie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\"},\"author\":{\"name\":\"Techie\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/#\/schema\/person\/8c5a2b3d36396e0a8fd91ec8242fd46d\"},\"headline\":\"Is Machine Learning AI? Understanding the Key Differences\",\"datePublished\":\"2026-03-31T16:12:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\"},\"wordCount\":2378,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\",\"url\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\",\"name\":\"Is Machine Learning AI? Understanding the Key Differences - ITSupportWale\",\"isPartOf\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/#website\"},\"datePublished\":\"2026-03-31T16:12:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/itsupportwale.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Is Machine Learning AI? Understanding the Key Differences\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/#website\",\"url\":\"https:\/\/itsupportwale.com\/blog\/\",\"name\":\"ITSupportWale\",\"description\":\"Tips, Tricks, Fixed-Errors, Tutorials &amp; Guides\",\"publisher\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/itsupportwale.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/#organization\",\"name\":\"itsupportwale\",\"url\":\"https:\/\/itsupportwale.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2023\/09\/cropped-Logo-trans-without-slogan.png\",\"contentUrl\":\"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2023\/09\/cropped-Logo-trans-without-slogan.png\",\"width\":1119,\"height\":144,\"caption\":\"itsupportwale\"},\"image\":{\"@id\":\"https:\/\/itsupportwale.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Itsupportwale-298547177495978\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/itsupportwale.com\/blog\/#\/schema\/person\/8c5a2b3d36396e0a8fd91ec8242fd46d\",\"name\":\"Techie\",\"sameAs\":[\"https:\/\/itsupportwale.com\",\"iswblogadmin\"],\"url\":\"https:\/\/itsupportwale.com\/blog\/author\/iswblogadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Is Machine Learning AI? Understanding the Key Differences - ITSupportWale","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/","og_locale":"en_US","og_type":"article","og_title":"Is Machine Learning AI? Understanding the Key Differences - ITSupportWale","og_description":"INCIDENT REPORT #882-B: THE DAY THE &#8216;AI&#8217; FORGOT HOW TO DO MATH. [2023-10-24 03:14:22] ERROR: worker-7 terminated with signal 9 (SIGKILL) [2023-10-24 03:14:23] Traceback (most recent call last): File &quot;\/opt\/analytics\/smart_scaler_v2.py&quot;, line 442, in &lt;module&gt; model.fit(X_train, y_train) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/utils\/_set_output.py&quot;, line 140, in wrapped data_to_wrap = f(self, X, *args, **kwargs) File &quot;\/usr\/local\/lib\/python3.11\/site-packages\/sklearn\/linear_model\/_base.py&quot;, line 678, in fit X, ... Read more","og_url":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/","og_site_name":"ITSupportWale","article_publisher":"https:\/\/www.facebook.com\/Itsupportwale-298547177495978","article_published_time":"2026-03-31T16:12:00+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2021\/05\/android-chrome-512x512-1.png","type":"image\/png"}],"author":"Techie","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Techie","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#article","isPartOf":{"@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/"},"author":{"name":"Techie","@id":"https:\/\/itsupportwale.com\/blog\/#\/schema\/person\/8c5a2b3d36396e0a8fd91ec8242fd46d"},"headline":"Is Machine Learning AI? Understanding the Key Differences","datePublished":"2026-03-31T16:12:00+00:00","mainEntityOfPage":{"@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/"},"wordCount":2378,"commentCount":0,"publisher":{"@id":"https:\/\/itsupportwale.com\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/","url":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/","name":"Is Machine Learning AI? Understanding the Key Differences - ITSupportWale","isPartOf":{"@id":"https:\/\/itsupportwale.com\/blog\/#website"},"datePublished":"2026-03-31T16:12:00+00:00","breadcrumb":{"@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/itsupportwale.com\/blog\/is-machine-learning-ai-understanding-the-key-differences\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/itsupportwale.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Is Machine Learning AI? Understanding the Key Differences"}]},{"@type":"WebSite","@id":"https:\/\/itsupportwale.com\/blog\/#website","url":"https:\/\/itsupportwale.com\/blog\/","name":"ITSupportWale","description":"Tips, Tricks, Fixed-Errors, Tutorials &amp; Guides","publisher":{"@id":"https:\/\/itsupportwale.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itsupportwale.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/itsupportwale.com\/blog\/#organization","name":"itsupportwale","url":"https:\/\/itsupportwale.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itsupportwale.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2023\/09\/cropped-Logo-trans-without-slogan.png","contentUrl":"https:\/\/itsupportwale.com\/blog\/wp-content\/uploads\/2023\/09\/cropped-Logo-trans-without-slogan.png","width":1119,"height":144,"caption":"itsupportwale"},"image":{"@id":"https:\/\/itsupportwale.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Itsupportwale-298547177495978"]},{"@type":"Person","@id":"https:\/\/itsupportwale.com\/blog\/#\/schema\/person\/8c5a2b3d36396e0a8fd91ec8242fd46d","name":"Techie","sameAs":["https:\/\/itsupportwale.com","iswblogadmin"],"url":"https:\/\/itsupportwale.com\/blog\/author\/iswblogadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/posts\/4750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/comments?post=4750"}],"version-history":[{"count":0,"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/posts\/4750\/revisions"}],"wp:attachment":[{"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/media?parent=4750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/categories?post=4750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsupportwale.com\/blog\/wp-json\/wp\/v2\/tags?post=4750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}