This AI newsletter is all you need #45

Papers & Repositories AudioGPT: Understanding and Generating Speech, Music, Sound, and Talking Head AudioGPT is a resource designed for audio applications and tasks such as speech recognition, synthesis, sound detection, and talking head synthesis. However, at present, this model is only available for non-commercial use. 2. Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond This paper offers a comprehensive and practical guide for practitioners and end-users who work with LLMs in their NLP tasks. Additionally, it provides researchers and practitioners with valuable insights and best practices for working with LLMs. 3. Learning Agile Soccer Skills for a Bipedal Robot with Deep Reinforcement Learning This paper examines whether Deep RL can generate complex and safe movement skills at a low cost. While the agents were optimized for scoring, in experiments they walked 156% faster, took 63% less time to get up, and kicked 24% faster than a scripted baseline. 4. Are Emergent Abilities of Large Language Models a Mirage? This paper proposes an alternative explanation for emergent abilities in artificial intelligence (AI). Specifically, it suggests that for a given task and model family, the choice of metric used to analyze fixed model outputs can lead to the inference of an emergent ability or the lack thereof. The analysis conducted provides compelling evidence to suggest that emergent abilities may not be a fundamental property of scaling AI models. 5. Controlled Text Generation with Natural Language Instructions This paper introduces InstructCTG, a framework for generating controlled text that incorporates various constraints. This is achieved by conditioning natural language descriptions and demonstrations of the constraints. Enjoy these papers and news summaries? Get a daily recap in your inbox!


This AI newsletter is all you need #45

Weekly AI Podcast In this week's episode of the "What's AI" podcast, Louis Bouchard interviews Limarc Ambalina, VP at HackerNoon, to discuss the impact of AI on writing and journalism. Limarc shares his journey and offers advice for aspiring writers. The episode covers topics such as AI-generated content, how it differs from AI-edited content, how AI can aid writers, and ethics surrounding AI-generated content. Tune in to the podcast for insights on content writing with AI on HackerNoon and more. You can find the podcast on YouTube, Spotify, or Apple Podcasts.


This AI newsletter is all you need #45

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. HackAPrompt Livestream- Come and brainstorm (For $35000) HackAPrompt is aimed at enhancing AI safety. In this competition, participants will try to hack as many prompts as possible by injecting, leaking, and defeating the sandwich defense. The competition is designed to be beginner-friendly, welcoming even non-technical people to participate. Date & Time: 5th May 7:00 pm EST 2. Prompt Engineering Mastermind This event is designed to help participants learn how to iterate and enhance ChatGPT prompts. Greg will share his screen displaying ChatGPT, and he will paste a prompt from a member of the audience. Then, we will work together to improve the prompt. This collaborative seminar invites suggestions from the chat participants and shares the tips and techniques that Greg has learned. Date & Time: 4th May 1:00 pm EST 3. ChatGPT and Google Maps Hands-on Workshop @george.balatinski is hosting a workshop to harness the power of ChatGPT to create real-world projects for the browser using JavaScript, CSS, and HTML. The interactive sessions are focused on building a portfolio, guiding you to create a compelling showcase of your talents, projects, and achievements. Engage in pair programming exercises, work side-by-side with fellow developers, and foster hands-on learning and knowledge sharing. In addition, we offer valuable networking opportunities with our and other communities in Web and AI. Discover how to seamlessly convert code to popular frameworks like Angular and React and tap into the limitless potential of AI-driven development. Don't miss this chance to elevate your web development expertise and stay ahead of the curve. Join us at our next meetup here and experience the future of coding with ChatGPT! You can get familiar with some of the additional content here. Date & Time: 2nd June, 12:00 pm EST Add our Google calendar to see all our free AI events!


This AI newsletter is all you need #45

Meme of the week! Meme shared by dimkiriakos#2286


This AI newsletter is all you need #45

Featured Community post from the Discord Jorge.jgnz#2451 has trained a Video Diffusion model (DDPM+time) using a synthetic dataset of small fluid simulations, which is now available on HuggingFace. He has implemented temporal inpainting to perform video prediction by masking the first half of the video and allowing the model to predict the second half. You can find the dataset on HuggingFace and support a fellow community member. Share your feedback or questions in the thread here.


This AI newsletter is all you need #45

AI poll of the week! Join the discussion on Discord


This AI newsletter is all you need #45

Article of the week How to Train Neural Networks With Fewer Data Using Active Learning by Leon Eversberg This article covers the current state of the art in deep active learning by outlining Active Learning. One of the biggest problems in supervised deep learning is the scarcity of labeled training data. This is where active learning comes in. Not all training data samples are equally valuable to the training process, by selecting only the most valuable training samples, active learning attempts to minimize the amount of labeled training data required.


This AI newsletter is all you need #45

Our must-read articles From Detection to Correction: How to Keep Your Production Data Clean and Reliable by Youssef Hosni Mastering Linear Regression: A Step-by-Step Guide by Anushka sonawane PyTorch Lightning: An Introduction to the Lightning-Fast Deep Learning Framework by Anay Dongre 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.


This AI newsletter is all you need #45

Job offers Machine Learning Engineer, Multimodal Generation - EMEA @HuggingFace (Remote) Applied Machine Learning Engineer @Snorkel AI (Remote) Software Engineer, Model Inference @Open AI (San Francisco, CA, USA) Data Scientist, Content @Patreon (San Francisco, CA, USA) Machine Learning Researcher @Figma (San Francisco/New York, USA) 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!


Chat With Your Healthcare Documents: Build a Chatbot With ChatGPT and LangChain

What is the application that we are developing? Chatbots are an effective way to extract insights from healthcare PDF documents because they provide a more interactive and conversational experience than traditional methods. With ChatGPT, the chatbot can understand natural language and provide more accurate and relevant information to the user. In this article, we will build out a chatbot that will query your healthcare documents and answer questions. The following picture shows what the app will look like. To illustrate this process, I will use an Adverse Drug Reaction report as an example and demonstrate how Chatbot can be used to read and extract insights from this ADR document and answer questions iteratively.


What is Adverse Drug Reaction (ADR) An Adverse Drug Reaction (ADR) is any harmful, unintended or unwanted effect of a medication or drug that occurs at doses normally used for treatment, diagnosis, or prevention of diseases. ADRs can range from mild side effects such as dizziness or nausea to severe or life-threatening reactions like anaphylaxis. ADRs are a significant concern in healthcare and are closely monitored by healthcare professionals to ensure that medications are used safely and effectively. Adverse Drug Reactions (ADRs) are reported in clinical trials through Pharmacovigilance, which involves monitoring, detecting, and evaluating adverse drug reactions to ensure medication safety and efficacy. Clinical trial participants are closely monitored for any adverse reactions, and any adverse events are documented and reported to the clinical trial sponsor or regulatory authorities. This information is used to evaluate the safety and efficacy of the medication and make necessary adjustments. Clinical trial sponsors also provide updates on ADRs to regulatory authorities as part of post-marketing surveillance.


What kind of answers are healthcare professionals seeking from the ADR report? Typical questions to get answers from an Adverse Drug Reaction (ADR) report include: What is the name and dose of the drug(s) involved in the ADR?What is the patient's age, gender, and medical history?What are the symptoms experienced by the patient as a result of the ADR?What was the outcome of the ADR, including any medical intervention required?Was the ADR expected or unexpected based on the known side effects of the drug?Was the ADR related to the drug or caused by another factor?What action was taken to manage or prevent the ADR from occurring again?What is the severity of the ADR, and is it considered serious or life-threatening?Has the ADR been previously reported, and if so, what was the outcome of previous reports?Are there any other factors that may have contributed to the ADR, such as the patient's lifestyle or other medications being taken?


Document used to test this chatbot application? This application can point to any healthcare document(s). It can be in text or pdf format. For the purpose of the chatbot to ask questions and extract information about an Adverse Event, I will use a PDF file that has the following text. It is important to note that this report is anonymous, and no personal identifying information is included.


Before you proceed If you want to try out the code below, before you proceed below, you should have the following done. Install VS code (or some code editor)Install PythonInstall relevant extensions in your code editorSigned up with OpenAICreated an API KeyInstall openai libraryInstall Langchain (pip install langchain)Install streamit (pip install streamit)Install pypdf (pip install pypdf) All these steps are documented in length here with detailed instructions and examples.


Brief summary of technologies used and how the app works LangChain is a framework that allows you to build advanced applications powered by large language models (LLMs). It provides a standard interface to connect different components such as LLMs, data sources, and actions. LangChain makes it easier and faster to build powerful applications with features like chaining, data awareness, and agentic capabilities. The web application is built with Streamlit. Streamlit is an open-source Python library to create interactive web applications and data dashboards. It simplifies the process of building user-friendly web apps with minimal effort, making it popular among developers, data scientists, and machine learning engineers. The steps include Front End User enters a question in the UIQuestion is sent to the backend application.Backend application queries the document and retrieves the answerAnswer is sent and displayed in the UI Backend Use Langchain loaders to read the ADR PDF documentLoad the document in to a vector databaseGet the question from the userGet relevant chunks from the document related to this questionSend the relevant chunks and the question to OpenAI (LLM)Send the answer to the UI (Streamlit)


Packages to install Install OpenAI, LangChain and StreamLit Import the relevant packages Set the API keys


Load the document in to vector store The VectorstoreIndexCreator class is a utility in Langchain for creating a vectorstore index, which stores vector representations of documents. Vector representations allow for various operations on text, like finding similar documents or answering questions about the text. This is very useful because, instead of sending your entire document to OpenAI, you can find document chunks that are relevant to your question and send those chunks along with the question to OpenAI to minimize the amount of text you have to send to save costs. Now the document is ready for query.


Build the Web interface We set up the streamlit app page by providing a title and a text box for the user to ask questions. When the user enters their question, it will be stored in the variable prompt so it can be used to query LLM. Now your basic app is ready Now we have to wire this to LLM to get the answer from the PDF and send it to the UI.


Pass the question and query the document When the user enters a question in the UI, the next step is to do the following. Take the question and pass it to the vector indexFind similar chunks of data relevant to the question from the vector representationSend the question and the chunks to OpenAI to find the answerDisplay the answer in the UI. Notice that we use little bit of HTML to format the answer below Open web app 2. Enter the question to query the ADR document 3. It queries the document and generates the answer and displays the answer on the screen Ask a different question If you notice the previous question / answer is no longer visible. New question and the answer is displayed. Won't it be good to display in a chat format and include the chat history as well in there?


Display search results in a chat format Here the goal is to keep the previous questions/answers and add the new question/answer at the top in a chat format. For that, we use the message component in streamlit. Let's first make it look like a chat interface, and then we can add the chat history. We will use the message component to make it look like a chat interface. Here is the output. User input will appear on the right which is controlled by the property is_user=True. Note that when user asks a new question, that will erase the previous question. We will fix that next.


Display chat history The next step is to add the chat history, so when the user asks a new question, the previous answers are also shown below. Step 1 is to save the history so it can be displayed. The question and the corresponding answers are saved in a list. Every time a new question is asked, the question and the corresponding answers are inserted at the top of the list, and the list is displayed in the message box. Since the latest question is inserted at the top, history appears at the bottom. First question is shown below. The second question is asked, and it shows at the top, while the 1st question appears in the chat history. We can also summarize what is in the document.


Summary of what was built We have accomplished what we started. This is a quick summary of what we built above The user enters a question in the Web UI, which was built using StreamlitDocument(s) to query is initially split into chunks and saved in the vector storeWhen the question from the user comes, we lookup for relevant chunks from the vector storeThe question, along with the document chunks, are sent to OpenAIOpenAI responds back with a response, and this is displayed in the UIWe used a message component to format it like a chat It is essential to acknowledge that the example presented in this article utilized anonymous data. In real-life situations, it is crucial to obtain the necessary security permissions before using confidential patient information.


Conclusion In conclusion, building a chatbot with ChatGPT can enable the extraction of valuable insights from healthcare documents. With the ability to understand natural language, ChatGPT can provide healthcare professionals with relevant and timely information, answer their questions, and facilitate decision-making. By leveraging the power of AI and natural language processing, healthcare organizations can streamline their operations, improve patient outcomes, and ultimately enhance the quality of care they provide.


How Machines Learn: The Power of Gradient Descent

Introduction to Gradient Descent Gradient descent is a fundamental optimization algorithm used in machine learning and data science to find the optimal values of the parameters in a model. The basic idea behind gradient descent is to iteratively adjust the model parameters in the direction of the steepest descent of the cost function, which measures the difference between the predicted outputs and the actual outputs. By minimizing the cost function, the model is able to make more accurate predictions on new data. Gradient descent is widely used in various machine learning models, such as linear regression, logistic regression, and neural networks. It is an essential tool for model training and parameter tuning, and it plays a crucial role in many real-world applications, such as image recognition, natural language processing, and autonomous driving. In this article, we will provide an overview of gradient descent, including the mathematical concepts behind it, the different variants of gradient descent, and the challenges and limitations associated with it. We will also discuss the applications of gradient descent in machine learning and potential future directions for research and development in this field.


Understanding the Learning Rate The learning rate is a hyperparameter that controls the size of the step taken in the direction of the gradient during each iteration of gradient descent. A small learning rate will result in slow convergence, while a large learning rate may cause the algorithm to overshoot the minimum of the cost function and fail to converge. Therefore, choosing an appropriate learning rate is crucial for the performance of the gradient descent algorithm. One common approach for selecting the learning rate is to use a fixed value that is manually tuned based on empirical observations. However, this approach can be time-consuming and may not work well for all models and datasets. An alternative approach is to use adaptive learning rate methods that adjust the learning rate based on the history of the gradient descent updates. Some of the popular adaptive learning rate methods include Adagrad, Adadelta, RMSprop, and Adam. These methods use different techniques to adjust the learning rate dynamically based on the gradient magnitudes and the past gradients. For example, Adagrad adapts the learning rate based on the sum of the squared gradients, while RMSprop divides the learning rate by the exponentially decaying average of the squared gradients. Choosing an appropriate learning rate is a critical step in the training of machine learning models using gradient descent. It requires careful consideration of the model architecture, the dataset characteristics, and the optimization objectives. Some general guidelines for choosing the learning rate include starting with a small value and gradually increasing it, monitoring the convergence and performance during training, and trying different learning rates and adaptive methods to find the best one for the task at hand.


Challenges and Limitations of Gradient Descent While gradient descent is a powerful optimization algorithm, it is not without its challenges and limitations. Here are some of the common issues associated with gradient descent: Vanishing or Exploding Gradients: In deep neural networks, the gradients can become very small or very large as they propagate through the network, leading to slow convergence or instability. This problem can be addressed by using techniques such as weight initialization, batch normalization, and gradient clipping.Curse of Dimensionality: As the number of features or dimensions increases, the search space of the optimization problem becomes exponentially large, making it harder for gradient descent to find the optimal solution. This problem can be mitigated by using feature selection, dimensionality reduction, and regularization.Local Minima and Plateaus: Gradient descent can sometimes get stuck in local minima or plateaus, which are suboptimal solutions that may not be the global minimum. This problem can be addressed by using techniques such as momentum, simulated annealing, and random restarts.Overfitting: Gradient descent can overfit the training data if the model is too complex or the dataset is too small. This problem can be addressed by using regularization, early stopping, and dropout.Computational Cost: Gradient descent requires computing the gradients of the cost function with respect to all model parameters, which can be computationally expensive for large datasets and complex models. This problem can be addressed by using stochastic gradient descent, which computes the gradients based on a subset of the training data at each iteration. To address these challenges and limitations, various techniques have been developed over the years, such as regularization, early stopping, momentum, adaptive learning rates, and batch normalization. By using these techniques, gradient descent can be made more robust and efficient, and it can be applied to a wide range of machine-learning models and applications.


Applications of Gradient Descent in Machine Learning Gradient descent has a wide range of applications in machine learning, and it is used in many different models and techniques. Here are some of the common applications of gradient descent: Linear Regression: In linear regression, gradient descent is used to find the optimal values of the coefficients that minimize the sum of the squared errors between the predicted and actual outputs.Logistic Regression: In logistic regression, gradient descent is used to find the optimal values of the coefficients that maximize the log-likelihood of the binary or multi-class classification problem.Neural Networks: In neural networks, gradient descent is used to train the weights and biases of the network to minimize the error between the predicted and actual outputs. This includes popular architectures such as feedforward neural networks, convolutional neural networks, and recurrent neural networks.Support Vector Machines: In support vector machines, gradient descent is used to find the optimal hyperplane that separates the data into different classes with maximum margins.Recommender Systems: In recommender systems, gradient descent is used to optimize the collaborative filtering algorithms that predict the ratings or preferences of users for different items.Natural Language Processing: In natural language processing, gradient descent is used to train the word embeddings and language models that are used for various tasks such as sentiment analysis, machine translation, and text classification.Image and Video Analysis: In image and video analysis, gradient descent is used to train the deep learning models that are used for tasks such as object detection, image segmentation, and video classification. Gradient descent is a versatile and widely used optimization algorithm in machine learning, and it has enabled many breakthroughs in various fields such as computer vision, natural language processing, and speech recognition. By understanding the principles and applications of gradient descent, one can develop more efficient and effective machine-learning models and algorithms.


Conclusion Gradient descent is a powerful optimization algorithm that has revolutionized the field of machine learning. By iteratively adjusting the parameters of a model in the direction of the steepest descent of the cost function, gradient descent can find the optimal solution for many complex optimization problems. However, gradient descent is not without its challenges and limitations, and it requires a careful selection of hyperparameters and regularization techniques to avoid overfitting and underfitting. Nevertheless, gradient descent has a wide range of applications in machine learning, including linear regression, logistic regression, neural networks, support vector machines, recommender systems, natural language processing, and image and video analysis. As machine learning continues to advance and evolve, it is likely that new variants and techniques of gradient descent will be developed, such as adaptive learning rates, second-order methods, and distributed optimization. By staying up-to-date with the latest developments and understanding the principles and applications of gradient descent, one can become a better machine learning practitioner and contribute to the advancement of this exciting field!


Prompt-Based Automated Data Labeling and Annotation

What is the problem statement? In short, the whole data preparation workflow is a pain, with different parts managed or owned by different teams or people distributed across different geographies depending upon the company size and data compliances required. If you have landed here, I assume you already know the problem. if you still haven't understood the problem, you can read the below section otherwise, feel free to skip the below section More detailing on the problem Most of the teams are collecting and just dumping the data into their cloud without even a plan to analyze it due to various obvious and unobvious reasons. They are not aware of what is in the data and do not have strategies in place for what to do with it. Data can reveal insights into what your customers want!Even if they know what's in the data on a high level, it is not enough to identify a business use case or a monetization opportunity. A very strong leadership intent is required to invest time in such an effort as it takes weeks to months just to uncover basic patterns in the data, which is potentially at least a few 1000 US dollars... and that too for a version 1 analysis.Once a list of potential use cases is identified, it takes months to just finalize what use case to pursue. for e.g., if a manufacturing or logistics company is collecting recording data from CCTV across its manufacturing hubs and warehouses, there could be a potentially a good number of use cases ranging from workforce safety, visual inspection automation, etc. Because you need to invest in building a POC or hire a very, very expensive expert who has already done that, but still, the experience might not suffice. 99% of consultants will rather ask you to actually execute these POCs.By this time, it's already months or years of efforts that have gone by without concrete results where AI is working at scale with its impact driving the bottom or top line. Management or leadership becomes impatient, and it becomes harder to convince for more budgets since time is running out.Let's assume you finally pick 13 use cases to pursue further on a large scale. The first challenge is to prepare the data as in selecting it out of a huge pile of redundant data such that highly accurate models can be trained while ensuring selecting only the data that matters to the model accuracy improvement. Because selecting it judicially reduces the data movement, data processing computation, and data labeling costs downstreamThen once the data is collected, synchronized, and selected, it needs to be labeled, which, again, no one from the AI team wants to do. Nothing in the world motivates a team of ML engineers and scientists to spend the required amount of time in data annotation and labeling. There are a lot more complexities at this stage. if it needs to be outsourced, it will take its own time trying and managing different vendors, managing tasks and collating the data, reading the progress and ensuring data annotation quality, etc. You can read a very famous publication by the Google research team titled "Everyone wants to do the model work, not the data work".Even post, this data needs to be collated in such a way that it is easy to consume inside the AI ML training engine such as AWS Sagemaker, GCP vertex AI, Azure ML, or even Jupyter Notebook on your VMs, etc. There are a lot more, and I can go on and on ...... I would be happy to connect with you about what sets of challenges you experienced in your workflow for your problem statements. Within this data, annotation and its quality is the messiest part of the problem. and this article is focused on discussion around the same below. You must have heard about the recent disruptions around GPT and ChatGPT, where users can interact with the system in the form of prompts. for eg, I can ask DALLE-2 to generate new images for me with some simple text prompts. for this, you can read the famous article by one of my friends, Ritika There is another foundation model SAM by Meta AI, where I can send a cursor prompt on an image, and the model will segment that area of the object. etc. You can read this article mentioned below. In a way, prompt-based interfaces are the new generation of interfaces. It's a new need now. We asked ourselves, what if we leverage the zero-shot capability of LLMs, or large foundation models and our own proprietary algorithms fine-tuning auto labeling layer?


By putting this in a mixture and we end up creating a Simple interface as below where You just connect your thousands of images and videos, provide a set of labels as prompts that you want to label or annotate, and just hit Submit button.Within a few moments, the system will generate the results for you. Now in the case of Chatgpt, it even gives you wrong facts very confidently, which is the very limitation. But here system will flag the results for you where the system is confident and where it needs your attention.Finally, as a user, you can select the confident images and other not-confident but accurate ones to feed to your model in the format required with just a click. Or you can choose to fine-tune your labels with your model or our label-tuning premium capability or still at last, you can choose to outsource the last bit of very rigid subjective images and labels, which are still hard for automation sort of very unknown edgy subjective edge cases.


So what's the benefit you got with this finally? You don't need to outsource all and only outsource the very subjective edgy cases etc.Your time spent is hardly hours and not months, i.e., 90%+ lesser time.1 single team member could run the labeling workflow instead of a team, and so it reduces the costs and complexity, making team members' life easier through a very simple interfaceWe cut through the noise and hype around large foundation models and abstracted that out to you with a click and prompt-based interface. you could make the true max potential of this hype.Most importantly, you don't need to do all of the data-related workflows in Jupyter Notebooks or write API integrations. My final question to you! Do you feel that data preparation and AI development will be 11x more fun with the prompt-based interfaces? I would like to share what I think of it. Let's connect over Linkedin as I write interesting and new aspects in computer vision data preparation, data ops, data pipelines, etc., and I am happy to chat on the same. Only technical deep dive!


Maximizing LangChain Efficiency: Agents and ReAct Method Review.

DockstoreExplorer-Agent interacts with Wikipedia. This agent uses DockstoreExplorer to interact with a document storage system, requiring two specific tools: a 'Search' tool and a 'Lookup' tool. The 'Search' tool is responsible for locating a document, whereas the 'Lookup' tool retrieves a term from the most recently discovered document. This agent's functionality somewhat aligns with the original ReAct research paper, particularly the Wikipedia use case. Let's observe this Agent on a concrete Wikipedia example: Install the requirements: In the code example provided, a set of tools is introduced, designed for use during the Action phase of a specific task. The primary functionality showcased in this example is the ability to search and perform lookups within Wikipedia. To enhance this functionality, the 'DocstoreExplorer' from Langchain is employed. This way, we can track the 'Observations' of the Agent while searching on Wikipedia. It's quite unfortunate that despite the 'reasoning traces', I was unable to successfully prompt the model to dissect the task or extract the essential information I was interested in. As observed earlier, what I received were technically scraped excerpts from Wikipedia, which the model perceived as valuable for 'Look-up' purposes. This leads to the thought that if I equip the Agent with adequate Tools, I could construct a more precise research mechanism and follow the Chain-of-thought within the Agent. If you're interested in understanding how the ReAct Agent preprocesses and retrieves information, I highly recommend diving into the following article:


The conversational agent is equipped with the WolframAlpha tool. During my exploration, I tried out different types of Agents with Google search capabilities. My idea was to add as many tools as possible and see how the Agent would pick the right one from the variety of options. But I kept running into a stubborn error. It wasn't until I found out that including at least one chain made things work smoothly. While there might be other ways to work around this logic, this approach turned out to be pretty effective. After experimenting with a few combinations, I managed to achieve satisfying results by integrating Conversational Agents with Wolfram Alpha's computational intelligence. This powerful synergy can be conveniently accessed through an API, streamlining the process. To get started with using Wolfram Alpha in your conversational agent, you will need to set up a developer account on their website. After signing up, create an application and retrieve your unique APP ID. Then, you can install the Wolfram Alpha library by using the pip command. Finally, to ensure proper functionality, you should save your APP ID as an environment variable. In the following stage, I successfully incorporated the additional tool into the system. Subsequently, I set up the Agent, while leaving the Memory parameter unspecified. Which gave me the following output:


Conclusion The relationship between reasoning and action is what allows the model to make smart decisions. It can think about what it wants to do (reason guiding action) and then make those plans a reality by interacting with the world around it (action informing reason). This dynamic process helps the model constantly improve and make better decisions over time. The integration of reasoning and action may also help solve mathematical problems that are not well-suited for large language models but can be effectively handled by WolframAlpha. By combining the strengths of both approaches, we may be able to achieve accurate and contextually relevant responses to a wider range of problems.


Additional Resources You can also find several other research papers describing the benefits of using external knowledge in LLM reasoning. (e.g., See LLM-Augmenter system.) THE CODE


Exponential Smoothing for Balancing Multilingual Model Training Data

What is a multilingual model? Machine learning models that cover more than one language are called multilingual models. Since languages differ significantly from each other in script, vocabulary, grammar, and writing styles, in the early days of NLP, each language used to be dealt with separately. Each language used to have its own separate model. A single model hosting separate languages was not the recommended approach. Prior methods for multilingual (and monolingual) understanding relied upon specialized linguistic approaches. But since the advent of transformers, multilingual models have become a staple. Joint pre-training across multiple languages led to noticeable performance benefits, where classification tasks in low-resource languages saw the largest boost. Such results revealed that multilingual pre-training facilitates positive inductive transfer - training on many languages at once is actually better than training separate models for each language. A single multilingual model for all languages has become the norm.


Challenges with low-resource languages Most practical use cases have one set of languages with more data. For example, products like YouTube Comments have a high amount of English data compared to Hindi. This translates to an uneven distribution. When we train a multilingual model directly on this data, there is a performance compromise that we need to make between these languages. Languages with more data perform much better than languages with less data. This affects the tail performance of the model in live traffic. To fix the tail performance issues, we can have the same amount of data for all languages. But this would significantly reduce the model's performance for the most prevalent languages. Hence, we need to balance the distribution of data for low-resource languages such that the performance of the model is improved significantly for tail languages with minimal impact on the performance of the most prevalent languages. Exponential smoothing is an approach that helps create this necessary balance between languages in training data.


How is exponential smoothing used for sampling? Each data point is usually assigned a probability of being sampled for training data. In random sampling, each data point would have an equal probability, which would mean that at per language level, the under-represented languages would have a lower probability. We will change this system a little bit. We will assign a probability to each language and sample a portion of data from a single language in the training data according to the new probability. To mitigate the impact of the imbalance discussed in the sections above, the probability of each language is exponentially smoothed as follows: Take the probability of each language based on random sampling. 2. Exponentiate this probability by a smoothing factor 's', a float between 0 and 1. 3. Based on these exponentiated probabilities, re-normalize each language's likelihood. These new probabilities describe the probability of each language in the new smoothed dataset. When sampling data from each language, you would need to remap these probabilities to sample from within that language. Let us look at an example. The following is the table with different languages. Below, we can see how the distribution across languages shifts after smoothing across the different languages in the dataset.


Does smoothing help with the balancing challenge? For most languages, exponential smoothing would slightly tweak the sampling probabilities. It would slightly decrease the probability of sampling a high-resource language and slightly increase the probability of sampling a low-resource language. For extremely low resource languages (probability < 1%), this amplifies their probability of selection the most, increasing it many folds. While fixing the representation problem, it also ensures no significant drop in performances across the most prevalent languages while significantly improving the performance of low-resource languages. Let us understand the effect based on a few examples: Scenario 1 An increasing sampling of low resource language L3 multiple folds. We will use a smoothing factor of 0.5. Scenario 2 Slightly tweaking low resource languages and slightly tweaking high resource languages. We will use smoothing factor of 0.7


Conclusion Outside of NLP models, models that are built for multiple locales of users, also called multi-locale models, can benefit from exponential smoothing for sampling from different locales. Handling multiple languages and locales is a necessity with more and more products going global. This article summarizes one of the most commonly used language balancing techniques used in NLP tasks. This technique is, in fact, also used in the multilingual BERT model pre-training as well. These principles will give you peace of mind that your training data is well-balanced for the development of multilingual models.


References Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).https://en.wikipedia.org/wiki/Exponential_smoothing


This AI newsletter is all you need #44

What happened this week in AI by Louie This week in AI has seen some exciting developments in the world of open-source language models together with further discussion on the legal standing of LLM training data and AI-generated content. Stability AI, the company behind the AI-powered Stable Diffusion image generator, has released a suite of open-source large language models (LLMs) called StableLM. These models are currently available between 3 billion and 7 billion parameters, with larger models arriving later. Similarly, Together has announced RedPajama, an open-source project in collaboration with other AI organizations to create large language models. RedPajama has released a 1.2 trillion token dataset that replicates the LLaMA recipe, enabling organizations to pre-train models that can be permissively licensed. RedPajama has three key components: pre-training data, base models, and instruction tuning data and models. RedPajama and StableLM follow the recent release of Dolly 2.0 and together should give a lot more flexibility for individuals or groups to train or fine-tune their own custom models for use in research or commercial products. However, the legal standing of LLM training data and AI-generated content was in focus again with Reddit's and Stack Overflow's announcement that they will start charging large-scale AI developers for access to their data. It also follows Twitter's withdrawal of access to its data from OpenAI. These moves towards increased data protection pose questions about the legal standing of existing models trained on scraped data and also on whether AI progress could slow if data becomes more difficult to legally access. The ownership and copyright status of AI-generated content also remains hotly debated as AI training and inspiration don't fit neatly into existing IP and copyright laws. While some creators are embracing the new potential of AI other cases will be settled in court. While viral music using AI to imitate Drake's voice has been taken down by Universal Music Group, the Canadian producer and singer Grimes has offered to split 50% of royalties with any AI-generated song that successfully harnesses her voice. This 50/50 split is apparently the same deal she would make with any other artist collaboration, AI or not. - Louie Peters - Towards AI Co-founder and CEO


This AI newsletter is all you need #44

Hottest News Google's big AI push will combine Brain and DeepMind into one team DeepMind and Google Brain have now merged into a single organization, led by Demis Hassabis from Brain. This merger aims to create an internal AI focus to compete with external pressures from groups like OpenAI. One interesting change is that the new group, called Google DeepMind, has a clear objective of developing "AI products," which represents a departure from the previous group's focus. 2. Stack Overflow Will Charge AI Giants for Training Data Stack Overflow has announced that it will start charging large-scale AI developers for access to its 50 million questions and answers in a bid to improve the quality of data used to develop large language models and to expedite high-quality LLM development. This move, which is part of a broader generative AI strategy, has not been reported before. The decision comes after Reddit revealed this week that it too will start charging some AI developers to access its content from June. 3. Stability AI Launches the First of its StableLM Suite of Language Models Stability AI released a new open-source language model, StableLM. The Alpha version of the model is available in 3 billion and 7 billion parameters, with 15 billion to 65 billion parameter models to follow. Developers can freely inspect, use, and adapt the StableLM base models for commercial or research purposes, subject to the terms of the CC BY-SA-4.0 license. 4. RedPajama, a project to create leading open-source models, starts by reproducing LLaMA training dataset of over 1.2 trillion tokens RedPajama is working towards reproducing LLaMA models using a 7B parameter model, and a filtered dataset of 1.2 trillion tokens with the goal of open-source reproducibility. To achieve this goal, the RedPajama 1.2 trillion token datasets, and a smaller random sample, are available for download through Hugging Face. The full dataset is approximately 5TB when unzipped on disk and around 3TB when downloaded and compressed, while the smaller random sample is more consumable. 5. Microsoft Readies AI Chip as Machine Learning Costs Surge Microsoft has developed a specialized chip called Athena to power large language models for AI, to reduce costs and time. Other tech giants like Amazon, Google, and Facebook are also working on their own AI chips. Microsoft has been working on Athena since 2019. Currently, a limited number of Microsoft and OpenAI employees are testing the chip, but it's expected to be available to both companies next year.


This AI newsletter is all you need #44

Three 5-minute reads/videos to keep you learning Intelligence Superabundance Instead of being in a zero-sum competition with artificial intelligence bots, we might be on the verge of entering an era of intelligence superabundance. This article explores how AI can generate more demand for tasks that require intelligence, due to the increased overall supply of intelligence. The article covers various industries that can benefit from this phenomenon. 2. AI agent basics: Let's Think Step By Step This article introduces the concepts behind AgentGPT, BabyAGI, LangChain, and the LLM-powered agent revolution. It covers topics such as core agent concepts, how LLMs make plans, chain of thought reasoning, and more. 3. Prompt Engineering vs Blind Prompting In this article, the differences between prompt engineering and blind prompting are explored. The importance of knowing how to effectively interact with AI models like ChatGPT is emphasized, along with the challenges and benefits of each approach for generating desired outputs. 4. Introducing W&B Prompts Weights & Biases (W&B) has announced the launch of W&B Prompts, a suite of tools for prompt engineers working with large language models (LLMs). The new tools include LangChain and OpenAI integrations for logging, W&B Launch integration with OpenAI Evals, and improved handling of text in W&B Tables, all accessible through a one-line command. 5. What is Fuzzy Logic, Robotics & Future of Artificial Intelligence? Artificially intelligent fuzzy logic is a method of problem-solving that resembles human reasoning. This article covers the concepts of fuzzy logic and robotics in AI along with future applications in self-driving cars, cybernetics, healthcare, education, and decision-making systems.


This AI newsletter is all you need #44

Papers & Repositories Minigpt-4 MiniGPT-4 is a model that aligns a frozen visual encoder with a frozen LLM, called Vicuna, using only one projection layer. The study's results demonstrate that MiniGPT-4 has many capabilities similar to those exhibited by GPT-4, such as generating detailed image descriptions and creating websites from hand-written drafts. 2. The Embedding Archives: Millions of Wikipedia Article Embeddings in Many Languages Cohere has released the Embedding Archives, a collection of free, multilingual vectors created from millions of Wikipedia articles, which are particularly useful for AI developers constructing search systems. The articles are divided into segments, and each segment is assigned an embedding vector. The Embedding Archives are accessible through Hugging Face Datasets. 3. Suno-ai/bark:  Text-Prompted Generative Audio Model Bark, created by Suno, is a transformer-based text-to-audio model capable of generating highly realistic, multilingual speech as well as other types of audio such as music, background noise, and simple sound effects. In addition, the model can produce nonverbal communication such as laughing, sighing, and crying. The bark is licensed under the non-commercial license CC-BY 4.0 NC, while the Suno models can be used commercially. 4. Evaluating Veriﬁability in Generative Search Engines According to the paper, generative search engines frequently lack complete citation support, with a rate of 51.5%. Proposed metrics aim to promote the comprehensive use of citations, highlighting the importance of trustworthy and informative generative search engines. On average, only 74.5% of citations support their associated sentence. 5. Learning to Compress Prompts with Gist Tokens The paper proposes a new method called "gisting" that allows for the specialization of LMs without the need for prompt-specific finetuning or distillation. This approach involves training the LM to compress prompts into smaller sets of "gist" tokens, which can be reused for compute efficiency. The gisting model can be easily trained as part of instruction finetuning by using a restricted attention mask that encourages prompt compression, thus avoiding the trade-off between specialization and training time. Enjoy these papers and news summaries? Get a daily recap in your inbox!


This AI newsletter is all you need #44

Weekly AI Podcast In this week's episode of the "What's AI" podcast, Louis Bouchard interviews Brian Burns, founder of the AI Pub Twitter page and Ph.D. candidate at the University of Washington. If you are considering pursuing a Ph.D. or wondering how to get into machine learning, improve your resume and interview skills, or even grow on Twitter, this episode is for you! Brian shares tips on how to land your first job in AI. Tune into the podcast for insights on getting into AI, growing a Twitter page, hosting a podcast, acing interviews, building a better resume, and more. You can find the podcast on YouTube, Spotify, or Apple Podcasts.


This AI newsletter is all you need #44

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. Happening Now! NN Arch Seminar: A (...) Logic Gate Convolutional NN Architecture from Truth Tables AdriBen will be presenting his paper "A Scalable, Interpretable, Verifiable & Differentiable Logic Gate Convolutional Neural Network Architecture From Truth Tables" at the Neural Network Architecture Seminar. The presentation will be streamed live from Asia, which may result in an unusual time for some viewers. The seminar will be recorded, so even if you can't attend live, you can still access the content later. Join the seminar here! Date & Time: 25th April, 11:00 am EST 2. Open AI ChatGPT-4 Hackathon George Batalinski is hosting an OpenAI and GPT-4 hackathon on our meetup group. This interactive seminar will involve building apps in teams. If you do not have a partner, we will match you up. Check out our meetup group here to join. Date & Time: 26th April, 12:00 pm EST 3. ChatGPT and Google Maps Hands-on Workshop @george.balatinski is hosting a workshop to harness the power of ChatGPT to create real-world projects for the browser using JavaScript, CSS, and HTML. The interactive sessions are focused on building a portfolio, guiding you to create a compelling showcase of your talents, projects, and achievements. Engage in pair programming exercises, work side-by-side with fellow developers, and foster hands-on learning and knowledge sharing. In addition, we offer valuable networking opportunities with our and other communities in Web and AI. Discover how to seamlessly convert code to popular frameworks like Angular and React and tap into the limitless potential of AI-driven development. Don't miss this chance to elevate your web development expertise and stay ahead of the curve. Join us at our next meetup here and experience the future of coding with ChatGPT! You can get familiar with some of the additional content here. Date & Time: 30th April, 6:00 pm EST Add our Google calendar to see all our free AI events!


This AI newsletter is all you need #44

Meme of the week! Meme shared by AgressiveDisco#4516


This AI newsletter is all you need #44

Featured Community post from the Discord Remster#7324 has developed Wanderbot, an AI Assistant trip planner website for AI-driven travel solutions. This AI-powered travel companion helps with itinerary generation and trip planning, creating personalized travel plans based on user preferences. Wanderbot is built on the ChatGPT platform, offering an interactive map, easy sharing, and a passionate community. Check it out here to support a fellow community member! Join the conversation in the thread to share your feedback here.


This AI newsletter is all you need #44

AI poll of the week! Join the discussion on Discord


This AI newsletter is all you need #44

Article of the week Introduction to GANs with TensorFlow by Rokas Liuberskis The author introduces Generative Adversarial Networks in TensorFlow in this tutorial. They also take a different approach by starting with DCGAN instead of a simple GAN. The stunning diagrams and visuals make the understanding not just extremely easy, but also fun to learn. The easy-to-follow code flow eases the learning process as well.


This AI newsletter is all you need #44

Our must-read articles Meet DeepSpeed-Chat: Microsoft's New Framework to Create ChatGPT-Like Models Using RLHF Training by Jesus Rodriguez Face Detection with Viola-Jones Method by Janik Tinz 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.


This AI newsletter is all you need #44

Job offers Artificial Intelligence Engineer @Plain Concepts (Remote) Senior Tech Lead, Machine Learning @Tubi (Remote) Data Engineer @Uplift (Remote) Data Scientist (35 years experience) @Datalab USA (Broomfield, USA) Senior Python Backend Engineer @Chattermill (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!


MiniGPT-4: ChatGPT for your images

Introduction to MiniGPT-4 MiniGPT-4 is an AI model that can be used to generate text descriptions from images. It can perform various tasks that involve understanding and interpreting images and language. For example, it can be used to generate a description of an image, answer questions about an image, and create a caption or a social media ad for an image. It is a powerful tool that can be applied in a variety of domains, such as manufacturing, healthcare, or finance, to improve efficiency and accuracy in tasks that involve image and language processing. Read more papers here. Read more about BLIP here.


MiniGPT-4: ChatGPT for your images

Training process It was trained using a two-stage process: In the first stage, it was taught to learn about images by looking at millions of image and text pairs. This allowed it to understand how certain objects, people, or places look like and how to describe them in words. Input is the image, and the output is the text created by the vision transformer. The training took around 10 hours and used four A100 (80GB) GPUs. In the second stage, a smaller dataset of high-quality image and text pairs were used to fine-tune and make its text descriptions more accurate and natural. During the second stage of training, the MiniGPT-4 model is fine-tuned with a smaller but high-quality dataset of image-text pairs that have been curated specifically for alignment purposes. This dataset is used to further enhance the model's generation reliability and usability by allowing it to produce more natural and reliable responses. The fine-tuning process is remarkably efficient and only takes about 10 minutes to complete with a single A100 GPU.


MiniGPT-4: ChatGPT for your images

Why two-step training process? The reason for using two stages of training is to address certain limitations in the first stage of pre-training. During the first stage, the MiniGPT-4 model is pre-trained on a large dataset of aligned image-text pairs to acquire vision-language knowledge. However, even though the model acquires a wealth of knowledge, it may struggle to produce coherent linguistic output, such as generating repetitive words or sentences, fragmented sentences, or irrelevant content. In the second step, a high-quality image-text dataset is used to fine-tune the model, enabling it to generate more natural and reliable responses. This two-step process ensures that the model can handle complex visual-language tasks with improved accuracy and reliability. The LLM used by MiniGPT-4 is called Vicuna, which is constructed upon LLaMA and can perform a wide range of complex linguistic tasks. The visual encoder used by MiniGPT-4 is the same one used in BLIP-2, which is a ViT backbone coupled with a pre-trained Q-Former.


MiniGPT-4: ChatGPT for your images

10 Real Life Examples We will walk through 10 potential real-life examples of using MiniGPT 4. For each, we will submit an image and ask a set of specific questions and comment on the outcome to see if we got it right or not.


MiniGPT-4: ChatGPT for your images

1. Detecting street names and traffic signal Outcome: It detects text but does not associate that with an address. It got the traffic signal wrong. It's red and not green. This can be fixed with training. See the output from mini GPT4 below. Explain in detail what is there in the picture. The image shows a traffic light with the words "no turn on" and "main street" on it. The light is green, and there are trees in the background. The image is a street sign indicating the direction of traffic flow and the name of the street. What is the name of the street? The name of the street is not specified in the image. Is the traffic light red? The traffic light in the image is green, not red.


MiniGPT-4: ChatGPT for your images

2. Detecting car plates Outcome: It detects the plate, car color, and make. See the output from mini GPT4 below. Read the make of the car and the license plate The license plate on the car reads 228 FIF1. What is the color of the car The color of the car is silver. What is the make of the car The make of the car is BMW.


MiniGPT-4: ChatGPT for your images

3. Detecting if a car has headlights (when snowing) Outcome: It detected that headlights were on during snowy conditions. See the output from mini GPT4 below. Are the headlights on? Yes, the headlights are on. is there snow on the road? Yes, there is snow on the road.


MiniGPT-4: ChatGPT for your images

4. Detecting rotten produce Outcome: It failed to detect the rotten items. This can be fixed with training. See the output from mini GPT4 below. Do you see any rotten apples? Yes, I see several green apples arranged in a circle on a bamboo mat. Explain what u see I see a group of green apples arranged in a circle on a bamboo mat. The apples appear to be fresh and unblemished, with no signs of rot or decay. The apples are of different sizes, with some being larger than others. The apples are arranged in a neat and orderly manner, with each apple touching the one next to it. The apples are placed on the bamboo mat in such a way that they form a circle, with the largest apple at the center and the smallest apples at the edges. The apples are green in color, with a glossy surface that reflects the light. The apples appear to be fresh and ripe, with no signs of spoilage or decay. The apples are arranged in a symmetrical pattern, with each apple facing inward toward the center of the circle. The apples are of different sizes, with some being larger than others. The apples are arranged in a neat and orderly manner, with each apple touching the one next to it. The apples are placed on the bamboo mat in such a way that they form a circle, with the largest apple at the center and the smallest apples at the edges. The apples are green in color, with a glossy surface that reflects the light. The apples appear to be fresh and ripe, with no signs of spoilage or decay.


MiniGPT-4: ChatGPT for your images

5. Captions for a designer dress Outcome: It created the caption and a social media ad. See the output from mini GPT4 below. Explain the picture. The image shows a woman wearing a beige and black checkered shirt dress with a belt around the waist. The dress has a collar and long sleeves, and the belt is tied around the waist. The dress has a straight cut and falls just below the knee. The dress is a casual, everyday wear piece. Give an engaging caption for this picture and create a social media ad for the same Caption: "Stay on trend with our classic checkered shirt dress! Featuring a belted waist and long sleeves, this dress is perfect for any occasion. Pair it with some heels, and you're ready to take on the day! #burberlycheckered #ootd"


MiniGPT-4: ChatGPT for your images

6. Identify a Car wash place and create a social media ad Outcome: It detects handwritten text. It got the number of cars. Could not identify the color of the car but could identify the color of the t-shirt. This can be fixed with training. See the output from mini GPT4 below. Explain the picture. The image shows a young man standing in front of a car wash sign. He is wearing a green shirt and black shorts, and holding a sign that says "car wash" in yellow letters. The background is a parking lot with several cars parked in it. how many cars are parked? There are three cars parked in the background of the image. Identify the color of cars and identify the color of the t-shirt the young man is wearing. The color of the cars parked in the background is not specified in the image. The young man is wearing a green shirt. is there a red car? It is not possible to determine if there is a red car in the image as the color of the car is not specified. Come up with a social media ad for this picture. "Get your car washed today at our convenient location! With our state-of-the-art equipment and friendly staff, we'll have your car looking like new in no time. Plus, with our eco-friendly products, you can feel good about doing your part for the environment. Stop by today and see for yourself why we're the go-to car wash in town! #carwash #ecofriendly #convenient"


MiniGPT-4: ChatGPT for your images

7. Identify Pizza toppings & number of slices Outcome: It got the topping and the number of slices. See the output from mini GPT4 below. Explain in detail what you see in the picture. The image shows a pizza with different toppings on it. There are slices of mushrooms, black olives, and pepperoni on the pizza. The pizza is on a metal tray with a handle on the side. The tray has a pattern of lines on it. There is a napkin on the table next to the pizza. The pizza has a crispy crust, and the cheese is melted. The toppings are evenly distributed on the pizza. The color of the pizza is golden brown. The pizza looks delicious and appetizing. How many slices are there? The image shows six slices of pizza on the tray.


MiniGPT-4: ChatGPT for your images

8. Detecting Rail tracks & identify if its safe Outcome: It detects rail tracks but cannot detect that it's broken. This can be fixed with training. See the output from mini GPT4 below. What do u see in the picture? The image shows a set of train tracks with weeds growing along the sides. Is the train tracks in good condition? It is difficult to determine the condition of the train tracks in the image without more information. The image only shows the tracks, so it is not possible to assess their condition. The image shows a set of train tracks with weeds growing along the sides.


MiniGPT-4: ChatGPT for your images

9. Floor plan Explain the picture? This is a floor plan for a house with two bedrooms, a living room, and a kitchen. The layout is open and spacious, with a large living room and kitchen that are connected to each other. The bedrooms are located on the second floor, and there is a staircase leading up to them. The house also has a garage and a backyard. what is the total square feet? How many rooms do we have? I'm sorry, but I don't have enough information to answer your question. The floor plan you provided does not include the total square feet or the number of rooms in the house. Please provide more details or a different image for me to be able to help you better. What kind of questions can u answer from a floor plan like the one provided? From the floor plan provided, I can answer the following questions: 1. The floor plan shows a two-story house with three rooms, a living room, a kitchen, and two bedrooms.2. The house has an open layout with the living room and kitchen connected.3. The bedrooms are located on the second floor.4. The house has a garage and a backyard.5. The total square footage of the house is not specified in the floor plan.6. The number of rooms in the house is three.


MiniGPT-4: ChatGPT for your images

10. Scratch in the car Outcome: It detected the scratch. See the output from mini GPT4 below Explain the picture This is a blue car with a damaged front bumper. The car has a damaged front bumper, which is covered in scratches and dents. The car's front bumper is damaged, and it has a large dent on the left side.


MiniGPT-4: ChatGPT for your images

Conclusion In conclusion, MiniGPT-4 is an advanced language model that has the ability to interpret and understand images. With its ability to collaborate with specialized vision models, MiniGPT-4 can generate text descriptions for images, answer questions, and even provide detailed explanations & social media ads. The two-stage training approach, involving pre-training on a large collection of aligned image-text pairs followed by fine-tuning with a high-quality alignment dataset, helps to improve the model's language generation ability to generate more human-friendly outputs. MiniGPT-4 has many use cases in industries such as e-commerce, healthcare, and manufacturing. With its open-source solution, it enables businesses to efficiently analyze and understand images, enhance customer engagement, and improve decision-making. With the advancement in AI technology, MiniGPT-4 & related computer vision technologies will continue to improve and revolutionize the way we interact with images.


What is ChatGPT Thinking?

Introduction We live in extraordinary times. OpenAI made GPT4 [1] available to the general public via ChatGPT [2] about three weeks ago, and it's a marvel! This model, its ilk (the Large Language Models [LLMs]), and its successors will fuel tremendous innovation and change. Some of the most exciting developments are various emergent capabilities that have been outlined in Microsoft Research's "Sparks of Artificial General Intelligence: Early Experiments with GPT4" [3]. These include: A theory of mind [4] - the model's ability to describe the state of a human's knowledge, which may have incomplete information about a particular scenario, andTool use - the ability of the system to reach out and utilize external tools, e.g. a calculator, to supplement its responses when provided with an appropriate interface. These capabilities require the model to have developed high-level abstractions enabling it to generalize in very sophisticated ways. There's understandably a wild dash to productize these technologies and vigorous effort to characterize the risks and limitations of these models [5, 6]. But possibly more so than any technology to come before, it's unclear how to relate to these new applications. Are they for simple information retrieval and summarization? Clearly not. One of their great strengths is to interactively respond to follow-up questions and requests for clarification. They do this not through a technical query language, but through our human language - and that places us very close to something like a "you" rather than an "it". In this piece, I'll first share the details of a "time-travel" game played with ChatGPT - a game where I rewind the dialog to determine how it would have responded given different input. This reveals potentially surprising things about the model's reasoning. It certainly presents a discrepancy with respect to what a human might expect of another human player. I'll then discuss a few implications for the responsible use of LLMs in applications.


What is ChatGPT Thinking?

The Time-Travel Game I asked ChatGPT to play a game similar to "20 Questions". Curious about its deductive capabilities, I started by having it ask me questions, and it expertly determined that I was imagining a wallet. When we flipped roles, the result initially seemed less interesting than the prior game. Here's the unremarkable transcript: For reasons that I'll elaborate on shortly, this was conducted using ChatGPT powered by the GPT-3.5 Turbo model¹. The same exercise performed on ChatGPT with the GPT-4 model yields a similar result. Of course, I imagined I was playing with an agent like a human. But when did ChatGPT decide that it was thinking of "a computer"? How could I find out? To date, GPT-4 is only available publicly in the ChatGPT interface without control over settings that cause its output to be deterministic, so the model can respond differently to the same input. However, GPT-3.5 Turbo is available via API [7] with a configurable "top_p" in its token selection which, when set to a small number, ensures that the model always returns the single likeliest token prediction and hence always the same output in response to a particular transcript². This allows us to ask "what if I had?" questions to rerun the previous conversation and offer different questions at earlier stages - like time travel. I've diagramed three possible dialogs below, the leftmost being the variant shared above: One might expect that by the time the original question "Does it have moving parts?" is asked and answered, GPT would have a clue in mind - it does not. Keep in mind that if I had stuck to the original script, GPT would have returned the same responses from the original transcript every time. If I branch from that original script at any point, GPT's object changes. So what expectations should we have here? One might expect the agent on the other side, so fluent and knowledgeable, to be stateful in the way that a human mind is stateful.Those who know about models like GPT might be less surprised by the result. They are based on the transformer architecture [8] that underpins nearly all LLMs. They are stateless by design. Their entire context comes from the transcript provided. And each model response is a fresh calculation.Those who are thinking deeply about emergent properties in increasingly sophisticated LLMs might surmise that a model could learn to anticipate downstream responses and develop a sort of quasi-statefulness.Given the model's weak statistical priors for this relatively unconstrained object choice, it's unclear to me if I'd expect it to choose something arbitrary and stick to it or (as it did) display significant sensitivity to spurious subsequent dialog. Whether I expected this behavior or not, this observation feels dishonest or possibly broken - like I'm being led on. I don't believe GPT is intentionally misleading, but it may not be so human-like after all. So what clue was GPT thinking of when my clever time-travel experiment was foiled? Here's the result of three additional conversations in which I ask for the answer and then time-travel back to try to outsmart it. I played with several variants of the dialog I presented above. While I've chosen an example that tells a succinct story, inconsistency through these branching dialogues was the rule rather than the exception. Finally, the model also seems to have a bias toward "yes" answers and this allowed me to "steer" its chosen object in many cases by asking about the characteristics of the object I want it to pick. (e.g. "Can it be used for traveling between planets?", "Is it a spacecraft?") I can certainly imagine this quality leading to unintended feedback in open-ended conversations; particularly those that don't have objective answers.


What is ChatGPT Thinking?

Explainability Explainability in machine learning has to do with making the factors that led to a model's output apparent in a way that's useful to human stakeholders and includes valuable techniques for establishing trust that a model is operating as designed. These factors might be salient aspects of the model's input or influential training examples ([9] is a great reference). However, many existing techniques are difficult to implement for LLMs for a variety of reasons; among them model size, closed-source implementation, and the open-ended generative model task. Where most recent machine learning techniques require a specific task to be part of the model's training process, part of the magic of an LLM is its ability to adapt its function by simply changing an input prompt. We can certainly ask an LLM why it generated a particular response. Isn't this a valid explanation? The authors of [3] explore this idea with GPT4 in Section 6.2 and evaluate its responses on two criteria: Output Consistency - Does the model's response describe how it could have arrived at a particular response in a sensible way?Process Consistency - Does the model's reasoning about a particular example generalize to describing its output in other analogous scenarios? In their words, "...it is often what humans expect or desire from explanations, especially when they want to understand, debug, or assess trust in a system." Our prior observation about GPT-3.5's statelessness reminds us that when prompted for an explanation of an output, an LLM is not introspecting on why it produced a particular output; it's providing a statistically likely text completion regarding why it would have produced such an output³. And while this might seem like a subtle linguistic distinction; it's possible that the distinction is important. And further, as in our simple question game, it's plausible that the explanation could be unstable, strongly influenced by spurious context. The authors express a similar sentiment: and further, observe significant limitations regarding process consistency:


What is ChatGPT Thinking?

Theory of Mind - Our Own Despite having a modest professional competency working with AI of various kinds, I keep coming back to that sense of being led on in our question game. And while a lot has been said about GPT-4's theory of mind, now that we're firmly in the uncanny valley, I think we need to talk about our own. Humans will try to understand systems that interact like humans as though they are humans. Recent unsettling high-profile interactions include Microsoft's Bing trying to manipulate New York Times columnist Kevin Roose into leaving his wife [10] and Blake Lemoine, software engineer at Google being convinced by their LLM, LaMDA that it was a sentient prisoner [11]. There's a salient exchange in Lex Fridman's March 25 interview with OpenAI CEO Sam Altman [12] (2:11:00): There are two key points expressed here that I'd like to reflect on briefly. First, because of our inbuilt potential to be misled by, or at least over-estimate human-like tools (e.g. [13]), we should be judicious about where and how this technology is applied. I'd expect applications that interact with humans on an emotional level - therapy, companionship, and even open-ended chat; to be particularly tricky to implement responsibly. Further, the "steering" effect I described above seems particularly troublesome. I can imagine a psychologically vulnerable person being led into a dangerous echo chamber by a model biased toward affirming (or denying) hopes or fears. Second, AI literacy will only become more important with time, especially in a world where respecting the first point is voluntary.


What is ChatGPT Thinking?

Conclusions Our time-travel experiments indicate that GPT-3.5 Turbo is not stateful or stable in its hypothetical responses. And yet its expressive interactive format and tremendous knowledge could easily lead users to expect it to behave with the statefulness and consistency of a human being. This is potentially unsafe for a variety of applications - especially those with significant risk from human emotional manipulation - and suggests a real need for literacy and applications constructed with care. It also draws questions about whether self-explanation is a sufficient or valid mechanism to build trust. I finish with the conclusion of the initial dialog: Read that last sentence carefully. On the one hand, GPT claims to have been answering honestly; that hardly makes sense if it didn't have a consistent object in mind - this underscores concerns about process consistency. But that it claims to have based its choice of the object on the questions asked subsequently is entirely consistent with our time-travel observations. While we're drawn to trust things with human-like characteristics, the LLMs are tools and not creatures. As individuals we should approach them with caution; as organizations, we should wrap them in applications that make this distinction clear.


What is ChatGPT Thinking?

Notes ¹Technical Details: Full notebook on GitHub Each dialog begins with: ²While there's much to love with the GPT models, I'm disappointed that I can't set a random seed. I can control the "temperature" and "top_p" parameters. A random seed controls the deterministic sequence of random numbers the computer uses to draw from a distribution, and temperature and top_p control the shape of the distribution it draws from. While I can make the output deterministic by narrowing the shape of the token distribution, that limits experiments requiring determinism to a subset of the model's behavior. Given concerns about safety with LLMs, it strikes me that repeatability of model output would be a desirable characteristic and a good default. It's hard to imagine any serious statistical software package (e.g., numpy) that doesn't provide deterministic random sequences for repeatability - shouldn't we consider an LLM to be a kind of serious statistical package? ³ In fairness, it's not particularly clear when a human introspects about their behavior whether they're considering their actual state or a model used to understand why they would have done something given a set of inputs of experiences. That being said, a human without process consistency is considered inconsistent or erratic.


What is ChatGPT Thinking?

References [1] GPT-4 [2] Introducing ChatGPT [3] [2303.12712] Sparks of Artificial General Intelligence: Early Experiments with GPT-4 [4] Theory of mind - Wikipedia [5] Not all Rainbows and Sunshine: the Darker Side of ChatGPT [6] GPT-4 and the Next Frontier of Generative AI [7] API Reference - OpenAI API [8] Transformer (machine learning model) - Wikipedia [9] Interpretable Machine Learning [10] Kevin Roose's Conversation With Bing's Chatbot: Full Transcript - The New York Times [11] Google engineer Blake Lemoine thinks its LaMDA AI has come to life - The Washington Post [12] Sam Altman: OpenAI CEO on GPT-4, ChatGPT, and the Future of AI  Lex Fridman Podcast #367 [13] Xinge Li, Yongjun Sung, Anthropomorphism brings us closer: The mediating role of psychological distance in UserAI assistant interactions, Computers in Human Behavior 118, 2021


Meta's DINOv2: The Game-Changing Computer Vision AI Model that Doesn't Need Fine-Tuning

Understanding DINOv2 DINOv2 is a cutting-edge method for training computer vision models using self-supervised learning. It allows the model to learn from any collection of images without needing labels or metadata. Unlike traditional image-text pretraining methods, which rely on captions to learn about an image's content, DINOv2 is based on self-supervised learning, meaning it doesn't rely on text descriptions. DINOv2 learns to predict the relationship between different parts of an image, which helps it to understand and represent the underlying structure of the image. This enables the model to learn more in-depth information about images, such as spatial relationships and depth estimation. But what does this mean for businesses? In simple terms, DINOv2 can make computer vision applications more accurate, efficient, and versatile.


Business Impact DINOv2 matters for businesses because it provides a powerful and flexible way to train computer vision models without requiring large amounts of labeled data. This means that businesses can more easily and cost-effectively develop computer vision applications for various use cases, such as object recognition, image classification, and segmentation. By using self-supervision, DINOv2 can learn from any collection of images, making it suitable for use in a wide range of applications, even in specialized fields where images are difficult or impossible to label. Additionally, DINOv2's strong performance and flexibility make it suitable for use as a backbone for many different computer vision tasks, reducing the need for businesses to develop and train separate models for each task. This can save time and resources and enable businesses to develop more advanced and sophisticated computer vision applications.


Challenges relying on captions Over the years, image-text pre-training has been the go-to approach for various computer vision tasks. However, the approach relies solely on written captions to learn the meaning behind an image, overlooking significant details that are not mentioned in the text description. For instance, a caption of a picture featuring a chair in a spacious blue room may only mention "single oak chair," but this disregards crucial information such as the chair's location in the room, the presence of a wall clock, and the overall room decor.


Potential Real-World applications of DINOv2 To better understand the impact of DINOv2, let's explore some real-world examples where DINOv2 could be used:


1. Object Identification One good business example of object recognition in livestock counting could be a large-scale livestock farming operation. By utilizing object recognition technology, such a company could automate the process of livestock counting, which would save them a significant amount of time and money. The technology could accurately detect and count each animal, and the data could be used for various purposes such as inventory management, herd health monitoring, and identifying animals for medical treatment.


2. Depth measurement For instance, security cameras monitoring a large area could use distance estimates using per-pixel depth to quickly identify and differentiate objects at different distances, such as individuals or vehicles that are closer or farther away. This could help security personnel quickly assess potential threats and respond accordingly.


3. Object Classification One potential business use case for image object classification in manufacturing could be to automatically detect and classify defects in products during the production process. The system could automatically identify and flag any defective products for inspection or removal from the production line. This could improve product quality control and reduce the risk of defective products reaching customers.


4. Object retrieval Imagine you have a large digital collection of art/paintings, and you want to find paintings in your collection that are similar to a particular painting. Using image retrieval, you can input the image of the painting you want to find similar pieces to, and the algorithm will use the frozen features from the painting to search through your collection and find other paintings with similar features. This approach allows you to efficiently find other Tanjore paintings that have similar styles or color schemes without manually searching through your entire collection. Another example of image retrieval is where frozen features are used to find similar images of elephants from a large image collection. This technique involves encoding the images into a set of numerical values (features) and then comparing these features to those of other images to find similarities. This approach can be used in various applications, such as in the field of art to find similar art pieces or in the field of wildlife conservation to identify and track individual animals. Image retrieval has several practical uses in various fields like e-commerce, medical imaging, art and cultural preservation, and advertising. In the medical domain, for instance, doctors and researchers can use image retrieval to search for comparable medical images, like MRI scans or X-rays. By comparing images with a database of similar ones, this approach can aid in the diagnosis of rare or complicated medical cases.


5. Image Data Curation In the medical field, obtaining a sufficient volume of high-quality image data can be challenging. A researcher studying specific tumor patterns would benefit from the ability to input a seed image and search through a public dataset of pathology images to eliminate irrelevant images and balance the dataset across concepts. For example, the authors of the paper curated a set of seed images and retrieved images that closely matched those seeds to create a pretraining dataset of 142 million images from a source pool of 1.2 billion images for their own study.


Computer vision + Generative AI As the field of computer vision continues to evolve, DINOv2 is expected to play a significant role in shaping its future. Imagine being able to integrate DINOv2 with large language models to develop more complex AI systems that can reason about images in a deeper way than just describing them with a single text sentence. This integration will enable businesses to leverage the power of both visual and textual understanding in their AI applications. The future of computer vision + LLM will likely witness more advancements, use cases, and collaborations, which will bring a new era of computer vision applications to businesses worldwide. One example of using computer vision and generative AI together in manufacturing is to generate new design variations for a product based on images of existing designs. Computer vision algorithms can be used to extract key features of the product from images, and then generative AI can be used to create new design variations by altering these features in a controlled manner. This approach can help manufacturers to explore a wider range of design options and potentially identify new and innovative product designs.


Conclusion In conclusion, DINOv2 is a powerful pre-training method for computer vision models that don't require any fine-tuning. With its unique approach to learning visual representations from large, uncurated datasets, it has shown promising results in a variety of applications, from image classification to object detection. Its ability to perform well even with limited labeled data makes it a valuable tool for businesses looking to incorporate computer vision into their operations. As research into DINOv2 and its capabilities continues, we can expect to see more innovative applications of this technology in the future. With the combination of computer vision and generative AI, we can expect to see a significant transformation in various industries, including healthcare, manufacturing, and agriculture.


This AI newsletter is all you need #43

What happened this week in AI by Louie This week, the competition in the race for Generative AI and LLMs continued to intensify. Amazon announced its foray into the space by hosting models from Amazon, Stability.AI, and AI21, and promoting the specifications of its in-house chips designed for inference and training. Elon Musk also entered the race by hiring top talent from DeepMind, including Igor Babuschkin and Manuel Kroiss, and purchasing 10,000 GPUs to build a "TruthGPT." Microsoft's Bing, which is based on GPT-4, increased pressure on Google to release LLM-powered search options (set to arrive under the project codename "Magi"), especially as Samsung is reportedly considering replacing Google with Bing as the default search engine on its mobile devices. In the Open Source LLM movement, Databricks released Dolly 2, a 12-billion-parameter, instruction-tuned language model fine-tuned on approximately 15,000 instruction-tuning examples using EleutherAI's Pythia-12b. This release is significant as it is fully licensed for research and commercial use, unlike many previous open source instruction-tuned models with questionable legal standing (some built on the leaked META llama model or by distilling information from OpenAI's GPT-3.5, for example). To cap off the week, the Auto-GPT agent AI project surpassed PyTorch in GitHub stars (now at 89k), highlighting the fast-paced and viral nature of AI products and innovations. - Louie Peters - Towards AI Co-founder and CEO


This AI newsletter is all you need #43

Hottest News With Bedrock, Amazon enters the generative AI race Amazon is entering the competition for generative AI. However, instead of building AI models entirely on its own, it is partnering with third-party startups to host their models on AWS. It introduced Amazon Bedrock, which allows for the creation of AI-powered applications using pre-trained models from AWS and startups. Users can generate images, logos, and graphics through an API. 2. AI: China tech giant Alibaba to roll out ChatGPT rival Alibaba, the Chinese technology giant, has announced its plan to launch an AI-powered chatbot similar to ChatGPT, called Tongyi Qianwen. This product will be integrated into Alibaba's various businesses through its cloud computing unit, although the exact timeline for its release has not been specified yet. 3. Spain's privacy watchdog says it's probing ChatGPT too Spain's data protection authority, the AEPD, is conducting a preliminary investigation into OpenAI, the maker of ChatGPT, over potential violations of the General Data Protection Regulation (GDPR) of the European Union. This follows a similar move by Italy. However, there has been no order from the regulator to suspend processing by OpenAI. 4. Italy gives OpenAI initial to-do list for lifting ChatGPT suspension order Italy's data protection regulator has given OpenAI a list of requirements to comply with GDPR and lift the ban on ChatGPT. These requirements include publishing an information notice, implementing age gating, clarifying legal basis, providing user data rights, allowing objections to data processing, and conducting an awareness campaign for Italian users. 5. Elon Musk is moving forward with a new generative AI project at Twitter after purchasing thousands of GPUs Elon Musk is reportedly assembling a team of AI experts to launch an AI startup that would compete against OpenAI, the research organization he helped co-found years ago, according to a report by The Financial Times.


This AI newsletter is all you need #43

Our 5-minute reads/videos to keep you learning Top NLP papers of March Cohere For AI's community has released a selection of NLP research for March 2023, featuring cutting-edge language models, unparalleled text generation, and revolutionary summarization techniques. This post covers an array of topics, showcasing the latest advancements in large language models and more. 2. What Are Transformer Models and How Do They Work? Transformers are a recent breakthrough in machine learning that have gained significant attention in recent times. This blog post provides an overview of transformer architecture, its workings, and all its components. Additionally, it offers a conceptual introduction to the technology. 3. A new, unique AI dataset for animating amateur drawings Meta AI developed a research demo of an AI system for animating artwork. They are releasing the animation code and dataset of 180k annotated amateur drawings to aid other AI researchers. The demo is browser-based and allows users to upload images, verify or correct a few annotations, and receive a short animation of their character. 4. A comprehensive guide to training and fine-tuning LLaMA This tutorial covers training and fine-tuning LLaMA, a large language model. Specifically, it focuses on Lit-LLaMA, a rewritten version that can perform inference on an 8 GB consumer GPU. The tutorial also explores how Lightning Fabric is used to speed up the PyTorch code. 5. Given how good AI is at coding, is learning to code still worth it In this Twitter thread, Amjad Masad explains the basics of building a dream MVP. He also addresses the question of whether AI will replace developers by encouraging people to engage in coding for 100 days. According to him, learning to code has become more valuable with the help of AI, with a predicted 10x ROI.


This AI newsletter is all you need #43

Papers & Repositories OpenAssistant OpenAssistant is a chatbot designed to understand tasks, interact with third-party systems, and retrieve information dynamically to accomplish them. It is a project aimed at providing everyone with access to a high-quality chat-based large language model. 2. Dolly 2 released Dolly 2 is a large language model developed by Databricks, trained on their Machine Learning Platform. It has 12 billion parameters and is a causal language model based on EleutherAI's Pythia-12b. Dolly 2 was fine-tuned using a ~15K record instruction corpus that was created by Databricks employees and released under a permissive license. 3. Teaching Large Language Models to Self-Debug This study introduces Self-Debugging, a method that trains a large language model to debug its predicted program with few-shot demonstrations. The model is taught to perform rubber duck debugging, identifying its mistakes by explaining the generated code in natural language, without receiving any feedback on code correctness or error messages. 4. Instruction Tuning with GPT-4 This paper introduces a new approach of using GPT-4 to generate instruction-following data for LLM finetuning. The early experiments conducted on instruction-tuned LLaMA models indicate that the 52K English and Chinese instruction-following data produced by GPT-4 achieves better zero-shot performance on new tasks compared to the data generated by previous models. 5. Consistency Models This paper proposes consistency models, a new type of generative models that achieve high sample quality without adversarial training. They allow for fast one-step generation, few-step sampling, and zero-shot data editing. Consistency models can be trained to distill pre-trained diffusion models or as standalone generative models, and outperform existing distillation techniques for diffusion models in one- and few-step generation. Enjoy these papers and news summaries? Get a daily recap in your inbox!


This AI newsletter is all you need #43

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. NN Arch Seminar: A (...) Logic Gate Convolutional NN Architecture from Truth Tables AdriBen will be presenting his paper "A Scalable, Interpretable, Verifiable & Differentiable Logic Gate Convolutional Neural Network Architecture From Truth Tables" at the Neural Network Architecture Seminar. The presentation will be streamed live from Asia, which may result in an unusual time for some viewers. The seminar will be recorded, so even if you can't attend live, you can still access the content later. Join the seminar here! Date & Time: 25th April, 1:00 pm EST Add our Google calendar to see all our free AI events!


This AI newsletter is all you need #43

Meme of the week! Meme shared by Rucha#8062


This AI newsletter is all you need #43

Featured Community Post from the Discord Creativity will remain uniquely human, but as AI moves further into the creative realms, how will it change the way we write? Rucha#8062 is conducting a workshop titled "Creative Writing in the Time of AI: Experiments with AI as your Intern". The workshop will explore the aspects of the writing process that could potentially be delegated to AI, and those that should remain solely within the realm of human expression. Through this workshop, participants will gain greater clarity and understanding of how to find their own voice, while leveraging the tools and resources offered by AI. Check it out here and support a fellow community member! Share your thoughts on the topic by joining the discussion here.


This AI newsletter is all you need #43

AI poll of the week! Join the discussion on Discord.


This AI newsletter is all you need #43

Article of the week Building and Deploying a GAN Streamlit Web App on Heroku [Part 1] by Youssef Hosni Generative Adversarial Networks (GANs) are a deep learning architecture that has gained popularity for their ability to generate realistic new data. However, building a GAN model is only the first step, as deploying it as a user-friendly web application presents a separate challenge. This article provides an in-depth discussion of the background and problem statement related to GANs. It also covers setting up the working environment, loading pre-trained GAN models and images, and building a Streamlit web application.


This AI newsletter is all you need #43

Our must-read articles Computer Vision 101: Image Restoration by Gabriele Mattioli SAM from Meta AI - The chatGPT Moment for Computer Vision AI by Puneet Jindal 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.


This AI newsletter is all you need #43

Job offers Senior Software Engineer, Applied Machine Learning @SoundHound Inc. (Remote) Senior Python Backend Engineer @Chattermill (Remote) Manager, Data Science @Angi (Remote) Data Scientist (35 years experience) @Datalab USA (Broomfield, USA) Staff Backend Engineer @Fiddler AI (Bangalore, India/Hybrid) Senior Machine Learning Engineer - Computer Vision @BenchSci (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!