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

This AI newsletter is all you need #54
Latest   Machine Learning

This AI newsletter is all you need #54

Last Updated on July 15, 2023 by Editorial Team

Author(s): Towards AI Editorial Team

Originally published on Towards AI.

What happened this week in AI by Louie

This week we were excited to read Demis Hassabis discussing Deepmind’s upcoming new Gemini Large Language model. Historically DeepMind has primarily dedicated its efforts to reinforcement learning (RL) and remained relatively quiet in pursuing large language models (LLMs). Nevertheless, DeepMind was behind the Chinchilla paper which has since become a benchmark for training LLMs and also introduced Sparrow in 2022. There have been many changes at Deepmind this year with Deepmind recently merging with Google Brain and combining resources on AI efforts, and we have been looking forward to updates from Deepmind. In a recent development, DeepMind has unveiled its latest project named Gemini, an upcoming competitor to ChatGPT.

DeepMind’s previous emphasis on reinforcement learning (AlphaGo) has proven to be highly advantageous, as the RLHF (Reinforcement Learning from Human Feedback) approach served as the secret ingredient behind the impressive performance of chat agents such as ChatGPT. According to Demis Hassabis, the CEO of DeepMind, Gemini combines the capabilities of AlphaGo-type systems with the profound language understanding found in LLMs. The model is still in the development stage and is expected to remain so for another few months. As Hassabis noted, this project’s completion could require an investment ranging from tens to hundreds of millions of dollars.

We are thrilled to witness the continuous innovation at the forefront of LLMs, such as the GPT-4, and other companies’ efforts to push the boundaries of these models’ capabilities even further. Moreover, there is growing anticipation to witness a new wave of breakthroughs in LLMs, particularly with a huge increase in training compute available to leading AI companies after recent deliveries of Nvidia’s H100 Tensor Core GPUs. We are interested to see if increased compute budgets for these models will be used primarily for more complex training steps and architectures, larger training data sets, or increased model parameters.

– Louie Peters — Towards AI Co-founder and CEO

Hottest News

  1. DeepMind Claims Its Next Chatbot Will Rival ChatGPT

DeepMind is developing a new chatbot named Gemini, intended to compete with, and potentially surpass, OpenAI’s ChatGPT. By leveraging the achievements of AlphaGo and the language capabilities of LLMs, DeepMind aims to establish dominance in the generative AI market.

2. ElevenLabs Introduces Its Voice Library

ElevenLabs has recently introduced Voice Library, a community platform integrated with a multilingual model that facilitates the development of lifelike synthetic voices with consistent primary speech characteristics for commercial applications. The Voice Design tool allows users to customize age, gender, and accent to generate unique and natural-sounding voices.

3. MosaicML Agrees to Join Databricks to Power Generative AI for All

MosaicML, a startup dedicated to democratizing large-scale neural network training and inference, has announced a collaboration with Databricks in a $1.3B deal. The partnership aims to drive advancements in generative AI software expertise and extend customer reach while enhancing engineering capabilities.

4. Advancing Innovation With Open-Source AI: Hugging Face CEO Testifies Before the US Congress

The CEO of Hugging Face, Clément Delangue, recently testified before the US Congress on Open-Source AI. In his testimony, he highlighted the importance of open-source AI in advancing innovation, promoting fair competition, and ensuring responsible development. Delangue emphasized that open-source principles democratize AI and foster a more inclusive and collaborative future in the field.

5. Adobe Indemnity Clause Designed To Ease Enterprise Fears About AI-Generated Art

Adobe offers an indemnity clause to address copyright concerns surrounding their generative AI tool Firefly. By training the model on legal content and promising to cover any copyright claims, Adobe aims to ease enterprise users’ worries and ensure the legality and safety of AI-generated artwork.

Five 5-minute reads/videos to keep you learning

  1. Announcing the First Machine Unlearning Challenge

Google has announced the first Machine Unlearning Challenge, a collaboration between academic and industrial researchers. This new area of machine learning focuses on eliminating the impact of certain training examples from a model to protect privacy rights. The challenge, held on Kaggle, aims to evaluate unlearning models’ forgetting quality and model utility, providing insights for improvement.

2. The Rise Of The AI Engineer

The article delves into the emergence of AI engineering as a specialized field and outlines the necessary skills for success in this domain. It emphasizes the importance of possessing a solid comprehension of machine learning algorithms, data manipulation, and programming languages, as well as the ability to bridge the gap between research and implementation to create practical AI solutions.

3. The Generative AI Revolution: Exploring the Current Landscape

This article provides an overview of the present state of Generative AI, emphasizing its capacity to generate coherent text, images, and code. It discusses notable models such as the Transformer, GPT family, Palm models, Chinchilla model, Megatron Turing model, and LlaMa models. The post also explores the potential impact of Generative AI in various fields, including animation, gaming, art, movies, and architecture.

4. AI and the Automation of Work

ChatGPT and generative AI are poised to revolutionize the way we work. However, how distinct is this transformation compared to previous waves of automation spanning the last two centuries? Furthermore, what implications does it hold for employment? This article explores paradigm-breaking technologies from the past and endeavors to envision the future impact of AI on the nature of work.

5. What Is Langchain and Why Should I Care as a Developer?

Langchain is experiencing remarkable growth as one of the fastest-growing open-source projects in history. This post provides a spotlight on how LangChain empowers developers to undertake incredible projects, offering a high-level overview of its capabilities. The author also shares a personalized account of their experimentation journey with the framework.

Papers & Repositories

  1. The Curse of Recursion: Training on Generated Data Makes Models Forget

This paper explores the potential consequences for GPT-{n} as LLMs increasingly contribute a significant portion of the language available online. It reveals that utilizing model-generated content during training leads to irreversible defects in the resultant models, resulting in the disappearance of the tails of the original content distribution. If the output is not curated diligently, one may encounter a phenomenon known as “model collapse.”

2. BradyFU/Awesome-Multimodal-Large-Language-Models

The repository features a curated collection of papers and datasets on Multimodal Large Language Models (MLLMs). It offers valuable insights into various aspects such as multimodal instruction tuning, in-context learning, chain-of-thought, and LLM-aided visual reasoning.

3. Towards Language Models That Can See: Computer Vision Through the LENS of Natural Language

The paper introduces LENS (Language Models ENhanced to See), a modular approach aimed at addressing computer vision problems by harnessing the capabilities of large language models (LLMs). The system employs a language model to engage in reasoning over outputs from a collection of independent and highly descriptive vision modules, which collectively offer comprehensive information about an image.

4. A More Efficient Way to Train a CLIP Model

Expanding on the recent work of CLIPA, which introduces an inverse scaling law for CLIP training, this paper introduces CLIPA-v2. CLIPA-v2 enhances the efficiency of image-text matching models, such as CLIP, by utilizing shorter sequences. It achieves a zero-shot ImageNet accuracy of 81.1% while requiring only $10,000 in resources.

5. End-to-end Autonomous Driving: Challenges and Frontiers

This survey offers a comprehensive analysis of over 250 papers, covering various aspects such as motivation, roadmap, methodology, challenges, and future trends in end-to-end autonomous driving. It delves into several critical challenges, including multi-modality, interpretability, causal confusion, robustness, and world models, among others.

Enjoy these papers and news summaries? Get a daily recap in your inbox!

The Learn AI Together Community section!

Weekly AI Podcast

In this week’s episode of the “What’s AI” podcast, Louis Bouchard interviews Petar Veličković, a research scientist at DeepMind and an affiliate lecturer at Cambridge. Petar shares insights on the value of a Ph.D., emphasizing its role as a gateway to research and the opportunities it provides for building connections and adaptability. He also highlights the evolving landscape of AI research, underscoring the importance of diverse backgrounds and contributions. The interview provides valuable perspectives on academia versus industry, the role of a research scientist, working at DeepMind, teaching, and the significance of curiosity in driving impactful research. Tune in on YouTube, Spotify, or Apple Podcasts if you are interested in AI research!

Upcoming Community Events

The Learn AI Together Discord community hosts weekly AI seminars to help the community learn from industry experts, ask questions, and get a deeper insight into the latest research in AI. Join us for free, interactive video sessions hosted live on Discord weekly by attending our upcoming events.

  1. Reading group on Time Series: conformal prediction & its application in depth.

In critical domains like medical diagnoses and safety-critical systems, quantifying prediction uncertainty in machine learning is crucial. Conformal prediction offers a robust framework for this purpose. It allows the quantification of uncertainty for any machine learning model as a post-processing layer, without requiring model refitting. Join us for an upcoming talk where we delve into the applications of conformal prediction. Attendees are encouraged to familiarize themselves with the insights shared on the MLBoost YouTube channel before the event.

Join the event here and discover how conformal prediction enhances reliable decision-making by measuring uncertainty beyond traditional point predictions.

Date & Time: 7th July 2023, 10:00 am EST

2. Reading Group: Segment Anything Model (SAM)

Learn AI Together’s weekly reading group presents informative presentations and discussions on the latest advancements in AI. This (free) event offers a wonderful opportunity to learn, ask questions, and engage with community members. This week, the focus will be on reviewing the “Segment Anything” paper, a recent publication from Meta research. You can access the paper here and join the discussion here.

Date & Time: 8th July 2023, 10:00 pm EST

Add our Google calendar to see all our free AI events!

Meme of the week!

Meme shared by neon8052

Featured Community post from the Discord

Akshitireddy has developed an open-source project called Interactive LLM Powered NPCs, which revolutionizes the way users interact with non-player characters (NPCs) in games. This project enables users to engage in immersive conversations with NPCs, leveraging their microphones to speak, listening to their voices, and witnessing realistic facial animations. The project focuses on enhancing the gaming experience in previously released titles such as Cyberpunk 2077, Assassin’s Creed, GTA 5, and other popular open-world games. Check it out on GitHub and support a fellow community member. Share your feedback and questions in the thread here!

AI poll of the week!

Join the discussion on Discord.

TAI Curated section

Article of the week

Train and Deploy Custom Object Detection Models Without a Single Line Of Code by Peter van Lunteren

Object detection is a computer vision technique used to identify specific objects within images. While numerous online tutorials cover object detection, none of them offer an automated method that eliminates the need for coding. In this tutorial, the author introduces EcoAssist, an open-source application hosted on GitHub, which simplifies object detection and makes it highly accessible to users.

Our must-read articles

Gorilla: Everything You Need to Know by Muhammad Arham

Google’s Latest AI Model Enables Virtual Try On clothes with Unchanged Details and Flexible Poses by Shen Huang

Meet vLLM: UC Berkeley’s Open Source Framework for Super Fast and Chearp LLM Serving by Jesus Rodriguez

10 Sklearn Treasure Features Overlooked By 99% of Online Courses by Bex T.

If you are interested in publishing with Towards AI, check our guidelines and sign up. We will publish your work to our network if it meets our editorial policies and standards.

Job offers

Research Engineer (Prototyping) GitHub Next @GitHub (Remote)

Product Engineer, PropTech @Picket Homes (Nashville, TN, USA)

Conversational AI Designer @Cresta (Remote)

Forward Deployed Engineer @Cohere (Remote)

Machine Learning Researcher @Shiru (Remote)

Data Engineer Mid Level @pulseData (Remote)

Machine Learning Engineer @Acentra Health (Remote)

Interested in sharing a job opportunity here? Contact sponsors@towardsai.net.

If you are preparing your next machine learning interview, don’t hesitate to check out our leading interview preparation website, confetti!

https://www.confetti.ai/

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'); -->