Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: pub@towardsai.net
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

Turing, Winograd, or Whither
Latest   Machine Learning

Turing, Winograd, or Whither

Last Updated on July 21, 2023 by Editorial Team

Author(s): Danielle Boccelli

Originally published on Towards AI.

Photo by Possessed Photography on Unsplash

Artificial Intelligence, Machine Intelligence, Opinion

What do we question when we ask if machines can think?

An interesting concept from literary theory states that if a reader wants to make sense of a text, then he will find an interpretation of that text that is consistent with his own world view, or perhaps more precisely, with his view of the world he supposes the text to concern. Oftentimes, to fulfill such a desire requires the reader to fill gaps in his own knowledge, as well as gaps in the logic or rhetoric of the writer by reading between the lines. In this way, all texts are essentially a dialogue initiated by the writer and continued by the reader, with the reader forming, perhaps erroneously, the intentions of the writer.

Upon learning of this concept, I fell enamored with writing poetical nonsense with snippets of text found in books and magazines.ᵃ I was excited by the idea of reader attempting to interpret meaning from my curated words and phrases and by doing so finding his own meaning in the resulting lines; perhaps this excitement is a form of sadism — I don’t know — but during my cut-and-paste creative process, each poem began to take on a personal meaning to me, so perhaps not.

But enough about my foibles. Let us now explore the importance of this concept to the field of artificial intelligence, with a particular focus on text generation tasks.

Can machines think?

The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.

— E. W. Dijkstra

While any question that has sparked as much discussion as to whether a computer can think can surely be classified as interesting based on its very ability to inspire interest, I concede that any question depending primarily on semantic interpretation can be classified as uninteresting, regardless of the extent to which it has been discussed, as any discussion that aims to address such a question is not likely to produce a satisfying and irrefutable yes-or-no answer, and unproductive discussions are perhaps essentially uninteresting.ᵇ

Either way, to ask if a machine can think, one must first define a machine, as well as the verb to think, which can be difficult if there is no specific machine in question, no clear consensus regarding the limits of that machine’s capacity to process information, and no precise definition of what it means to think.

Rather than address all potential sources of semantic uncertainty, I will focus on just one: What does one mean when one claims to think?

As English-speaking humans typically apply the word, to think can be considered as synonymous with to believe or to be of the opinion; or as the action is undertaken to draw a conclusion, to ponder or to contemplate, to muse or to meditate, to reflect or to deliberate, to abstract or to form opinions, to connect or to become lost; etcetera. Unfortunately, these typical applications are no more indicative of the action underlying thought than the original verb to think, and so they cannot be used to determine if a machine can think.

Can humans think?

From a biological perspective, I have heard it said that, during thought, there is something electrochemical going on in the brain as neurons fire — perhaps in a binary way or perhaps in a way more nuanced, but firing nonetheless — and although machines are surely anencephalic by design, I have also heard it said that they process information in a similar way as a biological brain. However, as with the semantic perspective, this similarity seems to come by way of analogy, rather than identity, as what a machine does simply does not feel like what a biological brain does, which is think.

If to think is to retain its standard anthropocentric connotation, then clearly computers cannot think, as only humans (and perhaps, if one feels generous, other mammals) can think. However, if to think is simplified to mean to produce an output based on an input (with the start and the end defining the process, and the mechanism of action occurring within a black box), then computers can quite obviously think — although such happenings are more commonly referred to as computing, which simply feels more appropriate.

Our hubris regarding thought is perhaps best supported by everyone’s favorite solipsistic aphorism: I think, therefore I am. In other words, my certainty of my very existence — which is the only thing of which I can be certain — is dependent on my ability to think. When placed on a pedestal like so and because I confidently describe what I do as thinking, I have first-hand knowledge of what it is to think, and I assume that others who are like me, i.e., other humans, can also think (although I have no proof), regardless of what it means physically to form thoughts, to conclude, to ruminate, etcetera, within the black box of my skull, and this undertaking, to have a think, so to speak, is not equivalent to computation, because I do not compute: I think (at least I think I do).

Clearly, even an uninteresting question can become interesting when considered from a semantic perspective, but it is also a rather unproductive line of reasoning.

The Imitation Game

The original question, ‘Can machines think?’ I believe to be too meaningless to deserve discussion.¹

— A. M. Turing

Although he claims, like Dijkstra, that the question of whether a machine can think is unworthy of discussion, in 1950, in Mind: A Quarterly Review of Psychology and Philosophy, Alan Turing wrote over 10,000 words exploring the topic, refuting claims against the possibility of thinking machines, and devising a test that can be carried out as an alternative to directly asking that despicable question.

In the essay, Turing devises his famous imitation game, which is more commonly referred to today as the Turing test. During the game, an interrogator must try to determine which of a pair of contestants, i.e., a human and a computer, is the human by asking a series of questions. The questions are not limited in their scope, and so the interrogator could ask directly if a contestant is a human or other questions (e.g., What is your favorite food?) that would require the computer contestant to assume a human persona (i.e., lie, or the appropriate computer equivalent) to avoid giving itself away.

Each contestant responds to the questions as he/she/it deems fit (whether through thought, computation, osmosis, or whatever else have you), and in the end, if the machine is incorrectly identified by the interrogator as the human contestant, then it is said to pass the Turing test. In other words, as a result of the game, we obtain one person’s opinion on whether a machine can produce answers to questions that are more convincingly human than those produced by one real member of the species.ᶜ

Whither machine learning?

We should consider, however, that in deception, studied and artful deceit is apt to succeed better and more quickly than science.²

–J. R. Pierce

While the Turning test remains perhaps the most famous test of machine intelligence, it has one major flaw: Because the imitation game relies on the subjective judgment of one interrogator and the performance of one human contestant rather than an objective and independent standard, it favors a machine’s ability to deceive over its ability to reason. Therefore, while able to provide food for thought as a thought experiment in ~1950, the test would be quite limited in practice in terms of its ability to evaluate a machine’s capacity to reason.

Turing himself was well aware of the above issue; however, to some extent, it seems as if he believed it to be more a feature than a bug:

It is claimed that the interrogator could distinguish the machine from the man simply by setting them a number of problems in arithmetic. The machine would be unmasked because of its deadly accuracy. The reply to this is simple. The machine…would deliberately introduce mistakes in a manner calculated to confuse the interrogator.¹

While the ability of a computer to successfully imitate a human is perhaps interesting to certain people or desirable for certain tasks, I do not believe that the original question of whether a computer can think can be satisfactorily addressed by determining if a computer can well imitate a human, as the question of computer thinking, I believe, is more concerned with the application of logic and the propensity for flexible learning exhibited by humans than the human-like outcomes achieved on this basis.

In other words, if a computer were able to apply non-human-like but flexibly learned logic to produce non-human-like but internally consistent results, then it would perhaps be more of a thinking entity than a computer that could simply out-human a human.ᵈ ᵉ

The ELIZA Effect

Deception works at least in part because we are extremely forgiving in terms of what we will accept as legitimate conversation.³

— H. J. Levesque

The importance of the above shortcoming of the imitation game as any more than a philosophical exercise can be well exemplified by the ELIZA effect. Named after the infamous ELIZA chatbot, which could convincingly imitate a Rogerian psychoanalyst, the ELIZA effect describes the tendency of a person to read too deeply into the responses generated by a computer program. Under the ELIZA effect, a person interacting with a machine may believe that the responses he has received were generated with all the intentionality of a thinking entity.

The ELIZA effect can occur even if the person is aware that he is interacting with a machine, but it is even more insidious if the person believes he is interacting with another human.⁴ Does this mean machines are sadistic? Probably, but this question is entirely uninteresting, and so I will cover it in great detail in a subsequent article.

Moving on.

If not, then what?

What Turing sought to avoid is the philosophical discussion assuming we were able to produce the intelligent behaviour; but how we get there is wide open, including all sorts of internal activity when all is quiet on the external front.³

— H. J. Levesque

When computers were first introduced, the idea of a thinking machine likely seemed farfetched to some, terrifying to others, and fascinating to those with enough prescience and bravery to be neither skeptical nor scared. Therefore, to steer the conversation away from the doubts and concerns of skeptics and cowards, Turing refuted the major criticisms thinking machines received and devised the imitation game to promote what he believed to be the more valuable discussion of methods that can be used to evaluate machines in terms of ability.

However, it is well understood today that, for a machine to be truly intelligent, it must do more than simply produce deceptively human-like responses to inputs. Therefore, as a method for better qualifying machine intelligence, the Winograd Schema (WS) challenge was proposed.

In the WS challenge, a question such as the following could be asked: “Mark could not see the stage from behind Paul because he was too short. Who is too short, Mark or Paul?” For such questions of pronoun resolution, a non-trivial understanding of language is required because it is not possible to know a priori who is too short without spatial reasoning. Therefore, while this question can be easily answered by any native English-speaking adult, it is difficult for a computer to answer.

Like Turing’s imitation game, the WS challenge requires a machine to have an understanding of language; however, unlike the game, the challenge is based on yes-no reading comprehension questions rather than a conversational approach. Therefore, the WS challenge is an improvement upon Turing’s imitation game in two main ways: (1) it is not likely to be wooed by a deceptive machine, and (2) it can be graded objectively without expert judges.

Does a computer that can pass the Winograd Schema challenge think? Who knows? — maybe all matter is conscious, maybe life is a simulation.

Final thoughts

When we question machine thinking, learning, and intelligence, we have a tendency to compare computers to humans because we have an impossibly intimate relationship with thought, and so perhaps thinking et al. are the wrong terms to use to describe what a machine does because, to ask if a machine can think, etcetera, the machine must be anthropomorphized to an often inappropriate and uncomfortable extent.

So perhaps we should not inquire of machines using words from our anthropocentric vocabularies, but rather ask if they are accurate enough to accomplish the tasks with which we, as a species, no longer want to be bothered. The question of whether a computer can think is uninteresting because the semantics used to describe the decision-making mechanism and the similarity of the mechanism to that of the human brain do not matter as long as the computer can ethically and accurately accomplish the tasks for which is was programmed.ᶠ

However, I believe that, without great advances in the processes by which computers learn, the requirement of a machine to imitate a human in a way that is more sophisticated than parroting and more honest than deception is likely impossible for some tasks, such as friendly communication tasks that require the endearing balance of defense mechanism and malapropism that plagues the average human creature, and entirely irrelevant for others, such as numerical calculations, as the ability of a computer for such tasks already far surpasses that of any human, and it would be plain silly to dull its abilities to match ours.

So perhaps computers simply compute, and only humans think, or perhaps the brain is just a sloppy yet flexibly brilliant computer; perhaps, perhaps, but ~2,600 words later, the topic is still of little interest.

Notes

a. Poetical nonsense curated by author

b. The question of whether a question is interesting is also a question of semantics, and so it is also quite possibly uninteresting, in and of itself, depending, of course, on one’s definition of interesting; this logic proceeds ad infinitum without becoming any more or less interesting.

c. I do not know what a computer passing the Turing test is to say about the human contestant, but I assume it must say something, that the claim inextricably depends on the sophistication of the computer, and that it is not quite complimentary, regardless of the level of sophistication of the non-human contestant.

d. The same logic can be applied to humans: a person who can memorize the solution to a problem in mathematics does not necessarily understand how to solve the problem, just as a person who behaves as an upstanding citizen is not necessarily pure of thought; however, in some cases, the outcome (i.e., a passing grade or an upstanding citizen), is what one cares about.

e. Further along these lines, to take a rationalist perspective, perhaps the whole endeavor of using human-produced examples to engender artificial intelligence is fundamentally flawed, as such examples can be used to produce only human imitations, not thinking machines.

f. If we were discussing machine consciousness, then I would perhaps have to revise these statements, but that is an entirely different level of philosophizing that is way beyond the scope of this article.

Bibliography

1. TURING, A. M., I. — COMPUTING MACHINERY AND INTELLIGENCE, Mind, Volume LIX, Issue 236, October 1950, Pages 433 — 460.

2. PIERCE, J. 1969. Whither speech recognition? JASA 46 (4B): 1049 — 1051.

3. LEVESQUE, H. J. 2011. The Winograd Schema Challenge. AAAI Spring Symposium: Logical Formalizations of Commonsense Reasoning.

4. Et al. The ELIZA Effect. Wikipedia.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

Published via Towards AI

Feedback ↓

Sign Up for the Course
`; } else { console.error('Element with id="subscribe" not found within the page with class "home".'); } } }); // Remove duplicate text from articles /* Backup: 09/11/24 function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag elements.forEach(el => { const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 2) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); */ // Remove duplicate text from articles function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag // List of classes to be excluded const excludedClasses = ['medium-author', 'post-widget-title']; elements.forEach(el => { // Skip elements with any of the excluded classes if (excludedClasses.some(cls => el.classList.contains(cls))) { return; // Skip this element if it has any of the excluded classes } const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 10) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); //Remove unnecessary text in blog excerpts document.querySelectorAll('.blog p').forEach(function(paragraph) { // Replace the unwanted text pattern for each paragraph paragraph.innerHTML = paragraph.innerHTML .replace(/Author\(s\): [\w\s]+ Originally published on Towards AI\.?/g, '') // Removes 'Author(s): XYZ Originally published on Towards AI' .replace(/This member-only story is on us\. Upgrade to access all of Medium\./g, ''); // Removes 'This member-only story...' }); //Load ionic icons and cache them if ('localStorage' in window && window['localStorage'] !== null) { const cssLink = 'https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css'; const storedCss = localStorage.getItem('ionicons'); if (storedCss) { loadCSS(storedCss); } else { fetch(cssLink).then(response => response.text()).then(css => { localStorage.setItem('ionicons', css); loadCSS(css); }); } } function loadCSS(css) { const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); } //Remove elements from imported content automatically function removeStrongFromHeadings() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, h6, span'); elements.forEach(el => { const strongTags = el.querySelectorAll('strong'); strongTags.forEach(strongTag => { while (strongTag.firstChild) { strongTag.parentNode.insertBefore(strongTag.firstChild, strongTag); } strongTag.remove(); }); }); } removeStrongFromHeadings(); "use strict"; window.onload = () => { /* //This is an object for each category of subjects and in that there are kewords and link to the keywods let keywordsAndLinks = { //you can add more categories and define their keywords and add a link ds: { keywords: [ //you can add more keywords here they are detected and replaced with achor tag automatically 'data science', 'Data science', 'Data Science', 'data Science', 'DATA SCIENCE', ], //we will replace the linktext with the keyword later on in the code //you can easily change links for each category here //(include class="ml-link" and linktext) link: 'linktext', }, ml: { keywords: [ //Add more keywords 'machine learning', 'Machine learning', 'Machine Learning', 'machine Learning', 'MACHINE LEARNING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ai: { keywords: [ 'artificial intelligence', 'Artificial intelligence', 'Artificial Intelligence', 'artificial Intelligence', 'ARTIFICIAL INTELLIGENCE', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, nl: { keywords: [ 'NLP', 'nlp', 'natural language processing', 'Natural Language Processing', 'NATURAL LANGUAGE PROCESSING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, des: { keywords: [ 'data engineering services', 'Data Engineering Services', 'DATA ENGINEERING SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, td: { keywords: [ 'training data', 'Training Data', 'training Data', 'TRAINING DATA', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ias: { keywords: [ 'image annotation services', 'Image annotation services', 'image Annotation services', 'image annotation Services', 'Image Annotation Services', 'IMAGE ANNOTATION SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, l: { keywords: [ 'labeling', 'labelling', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, pbp: { keywords: [ 'previous blog posts', 'previous blog post', 'latest', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, mlc: { keywords: [ 'machine learning course', 'machine learning class', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, }; //Articles to skip let articleIdsToSkip = ['post-2651', 'post-3414', 'post-3540']; //keyword with its related achortag is recieved here along with article id function searchAndReplace(keyword, anchorTag, articleId) { //selects the h3 h4 and p tags that are inside of the article let content = document.querySelector(`#${articleId} .entry-content`); //replaces the "linktext" in achor tag with the keyword that will be searched and replaced let newLink = anchorTag.replace('linktext', keyword); //regular expression to search keyword var re = new RegExp('(' + keyword + ')', 'g'); //this replaces the keywords in h3 h4 and p tags content with achor tag content.innerHTML = content.innerHTML.replace(re, newLink); } function articleFilter(keyword, anchorTag) { //gets all the articles var articles = document.querySelectorAll('article'); //if its zero or less then there are no articles if (articles.length > 0) { for (let x = 0; x < articles.length; x++) { //articles to skip is an array in which there are ids of articles which should not get effected //if the current article's id is also in that array then do not call search and replace with its data if (!articleIdsToSkip.includes(articles[x].id)) { //search and replace is called on articles which should get effected searchAndReplace(keyword, anchorTag, articles[x].id, key); } else { console.log( `Cannot replace the keywords in article with id ${articles[x].id}` ); } } } else { console.log('No articles found.'); } } let key; //not part of script, added for (key in keywordsAndLinks) { //key is the object in keywords and links object i.e ds, ml, ai for (let i = 0; i < keywordsAndLinks[key].keywords.length; i++) { //keywordsAndLinks[key].keywords is the array of keywords for key (ds, ml, ai) //keywordsAndLinks[key].keywords[i] is the keyword and keywordsAndLinks[key].link is the link //keyword and link is sent to searchreplace where it is then replaced using regular expression and replace function articleFilter( keywordsAndLinks[key].keywords[i], keywordsAndLinks[key].link ); } } function cleanLinks() { // (making smal functions is for DRY) this function gets the links and only keeps the first 2 and from the rest removes the anchor tag and replaces it with its text function removeLinks(links) { if (links.length > 1) { for (let i = 2; i < links.length; i++) { links[i].outerHTML = links[i].textContent; } } } //arrays which will contain all the achor tags found with the class (ds-link, ml-link, ailink) in each article inserted using search and replace let dslinks; let mllinks; let ailinks; let nllinks; let deslinks; let tdlinks; let iaslinks; let llinks; let pbplinks; let mlclinks; const content = document.querySelectorAll('article'); //all articles content.forEach((c) => { //to skip the articles with specific ids if (!articleIdsToSkip.includes(c.id)) { //getting all the anchor tags in each article one by one dslinks = document.querySelectorAll(`#${c.id} .entry-content a.ds-link`); mllinks = document.querySelectorAll(`#${c.id} .entry-content a.ml-link`); ailinks = document.querySelectorAll(`#${c.id} .entry-content a.ai-link`); nllinks = document.querySelectorAll(`#${c.id} .entry-content a.ntrl-link`); deslinks = document.querySelectorAll(`#${c.id} .entry-content a.des-link`); tdlinks = document.querySelectorAll(`#${c.id} .entry-content a.td-link`); iaslinks = document.querySelectorAll(`#${c.id} .entry-content a.ias-link`); mlclinks = document.querySelectorAll(`#${c.id} .entry-content a.mlc-link`); llinks = document.querySelectorAll(`#${c.id} .entry-content a.l-link`); pbplinks = document.querySelectorAll(`#${c.id} .entry-content a.pbp-link`); //sending the anchor tags list of each article one by one to remove extra anchor tags removeLinks(dslinks); removeLinks(mllinks); removeLinks(ailinks); removeLinks(nllinks); removeLinks(deslinks); removeLinks(tdlinks); removeLinks(iaslinks); removeLinks(mlclinks); removeLinks(llinks); removeLinks(pbplinks); } }); } //To remove extra achor tags of each category (ds, ml, ai) and only have 2 of each category per article cleanLinks(); */ //Recommended Articles var ctaLinks = [ /* ' ' + '

Subscribe to our AI newsletter!

' + */ '

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

'+ '

Towards AI has published Building LLMs for Production—our 470+ page guide to mastering LLMs with practical projects and expert insights!

' + '
' + '' + '' + '

Note: Content contains the views of the contributing authors and not Towards AI.
Disclosure: This website may contain sponsored content and affiliate links.

' + 'Discover Your Dream AI Career at Towards AI Jobs' + '

Towards AI has built a jobs board tailored specifically to Machine Learning and Data Science Jobs and Skills. Our software searches for live AI jobs each hour, labels and categorises them and makes them easily searchable. Explore over 10,000 live jobs today with Towards AI Jobs!

' + '
' + '

🔥 Recommended Articles 🔥

' + 'Why Become an LLM Developer? Launching Towards AI’s New One-Stop Conversion Course'+ 'Testing Launchpad.sh: A Container-based GPU Cloud for Inference and Fine-tuning'+ 'The Top 13 AI-Powered CRM Platforms
' + 'Top 11 AI Call Center Software for 2024
' + 'Learn Prompting 101—Prompt Engineering Course
' + 'Explore Leading Cloud Providers for GPU-Powered LLM Training
' + 'Best AI Communities for Artificial Intelligence Enthusiasts
' + 'Best Workstations for Deep Learning
' + 'Best Laptops for Deep Learning
' + 'Best Machine Learning Books
' + 'Machine Learning Algorithms
' + 'Neural Networks Tutorial
' + 'Best Public Datasets for Machine Learning
' + 'Neural Network Types
' + 'NLP Tutorial
' + 'Best Data Science Books
' + 'Monte Carlo Simulation Tutorial
' + 'Recommender System Tutorial
' + 'Linear Algebra for Deep Learning Tutorial
' + 'Google Colab Introduction
' + 'Decision Trees in Machine Learning
' + 'Principal Component Analysis (PCA) Tutorial
' + 'Linear Regression from Zero to Hero
'+ '

', /* + '

Join thousands of data leaders on the AI newsletter. It’s free, we don’t spam, and we never share your email address. Keep up to date with the latest work in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

',*/ ]; var replaceText = { '': '', '': '', '
': '
' + ctaLinks + '
', }; Object.keys(replaceText).forEach((txtorig) => { //txtorig is the key in replacetext object const txtnew = replaceText[txtorig]; //txtnew is the value of the key in replacetext object let entryFooter = document.querySelector('article .entry-footer'); if (document.querySelectorAll('.single-post').length > 0) { //console.log('Article found.'); const text = entryFooter.innerHTML; entryFooter.innerHTML = text.replace(txtorig, txtnew); } else { // console.log('Article not found.'); //removing comment 09/04/24 } }); var css = document.createElement('style'); css.type = 'text/css'; css.innerHTML = '.post-tags { display:none !important } .article-cta a { font-size: 18px; }'; document.body.appendChild(css); //Extra //This function adds some accessibility needs to the site. function addAlly() { // In this function JQuery is replaced with vanilla javascript functions const imgCont = document.querySelector('.uw-imgcont'); imgCont.setAttribute('aria-label', 'AI news, latest developments'); imgCont.title = 'AI news, latest developments'; imgCont.rel = 'noopener'; document.querySelector('.page-mobile-menu-logo a').title = 'Towards AI Home'; document.querySelector('a.social-link').rel = 'noopener'; document.querySelector('a.uw-text').rel = 'noopener'; document.querySelector('a.uw-w-branding').rel = 'noopener'; document.querySelector('.blog h2.heading').innerHTML = 'Publication'; const popupSearch = document.querySelector$('a.btn-open-popup-search'); popupSearch.setAttribute('role', 'button'); popupSearch.title = 'Search'; const searchClose = document.querySelector('a.popup-search-close'); searchClose.setAttribute('role', 'button'); searchClose.title = 'Close search page'; // document // .querySelector('a.btn-open-popup-search') // .setAttribute( // 'href', // 'https://medium.com/towards-artificial-intelligence/search' // ); } // Add external attributes to 302 sticky and editorial links function extLink() { // Sticky 302 links, this fuction opens the link we send to Medium on a new tab and adds a "noopener" rel to them var stickyLinks = document.querySelectorAll('.grid-item.sticky a'); for (var i = 0; i < stickyLinks.length; i++) { /* stickyLinks[i].setAttribute('target', '_blank'); stickyLinks[i].setAttribute('rel', 'noopener'); */ } // Editorial 302 links, same here var editLinks = document.querySelectorAll( '.grid-item.category-editorial a' ); for (var i = 0; i < editLinks.length; i++) { editLinks[i].setAttribute('target', '_blank'); editLinks[i].setAttribute('rel', 'noopener'); } } // Add current year to copyright notices document.getElementById( 'js-current-year' ).textContent = new Date().getFullYear(); // Call functions after page load extLink(); //addAlly(); setTimeout(function() { //addAlly(); //ideally we should only need to run it once ↑ }, 5000); }; function closeCookieDialog (){ document.getElementById("cookie-consent").style.display = "none"; return false; } setTimeout ( function () { closeCookieDialog(); }, 15000); console.log(`%c 🚀🚀🚀 ███ █████ ███████ █████████ ███████████ █████████████ ███████████████ ███████ ███████ ███████ ┌───────────────────────────────────────────────────────────────────┐ │ │ │ Towards AI is looking for contributors! │ │ Join us in creating awesome AI content. │ │ Let's build the future of AI together → │ │ https://towardsai.net/contribute │ │ │ └───────────────────────────────────────────────────────────────────┘ `, `background: ; color: #00adff; font-size: large`); //Remove latest category across site document.querySelectorAll('a[rel="category tag"]').forEach(function(el) { if (el.textContent.trim() === 'Latest') { // Remove the two consecutive spaces (  ) if (el.nextSibling && el.nextSibling.nodeValue.includes('\u00A0\u00A0')) { el.nextSibling.nodeValue = ''; // Remove the spaces } el.style.display = 'none'; // Hide the element } }); // Add cross-domain measurement, anonymize IPs 'use strict'; //var ga = gtag; ga('config', 'G-9D3HKKFV1Q', 'auto', { /*'allowLinker': true,*/ 'anonymize_ip': true/*, 'linker': { 'domains': [ 'medium.com/towards-artificial-intelligence', 'datasets.towardsai.net', 'rss.towardsai.net', 'feed.towardsai.net', 'contribute.towardsai.net', 'members.towardsai.net', 'pub.towardsai.net', 'news.towardsai.net' ] } */ }); ga('send', 'pageview'); -->