HubSpot picks up B2B data provider Clearbit to enhance its AI platform

HubSpot picks up B2B data provider Clearbit to enhance its AI platform Sarah Perez @sarahintampa / 8 hours

HubSpot, the Boston-based marketing software maker and CRM platform, announced today it’s acquiring the B2B data provider Clearbit, to enhance its platform with third-party company data spanning millions of businesses. The deal also brings Clearbit’s over 400,0000 users and 1500-plus business customers to HubSpot, and will eventually see the two platforms combine in order to provide HubSpot’s customer base with expanded data plus actionable insights.

Founded in 2015, Clearbit began as a tool that would help users hunt down email addresses associated with a company, as well as employee information like their name, job title, and other details, like social media accounts. The idea was that this information would help companies better understand their leads and vet their sales. SV Angel and First Round Capital were among the startup’s first backers.

I want to say a big public thanks to the @clearbit team, and especially to my two co-founders Harlow Ward and @mattsornson. With their oversight the company has shipped some massive improvements recently.

— Alex MacCaw (@maccaw) November 1, 2023

Over the years that followed, Clearbit developed into a fuller suite of tools, including those targeted towards sales, marketing, and ops teams, which included integrations with CRM providers like HubSpot and Salesforce. It also offered technology to enrich a company’s leads, contacts, and accounts with additional data, including public data from the web — like company websites and crowdsourced data — as well as its own proprietary data. More recently, it began to leverage LLM (large language model) technologies to convert unstructured data into standardized data sets for B2B teams.

As Clearbit co-founder and CEO Matt Sornson explained earlier this year, “Large Language Models and Generative AI are the step changes in technology that we are using to deliver on our promise to customers. LLMs will disrupt entire industries over the coming years, but I am confident that they will completely disrupt the data industry within 18 months,” he wrote in a blog post, where he laso announced the Clearbit data pipeline had been rebuilt with LLMs at the core.

Thanks to this technology, he said, Clearbit was now able to identify and enrich any company or contact data from any country in any language. That also likely made it a more interesting acquisition target.

The company’s website touted Clearbit’s relationships with not only its acquirer HubSpot, but also other businesses like Twilio Segment, Asana, Intercom, Zenefits, Greenhouse, Chargebee, Lattice, and Frame.io. With HubSpot, specifically, Clearbit has been available to its customers as part of the HubSpot App Marketplace since 20119.

Following the deal’s close, Clearbit will become a subsidiary of HubSpot and will eventually become integrated into its customer platform.

Speaking to the reasons why it was interested in Clearbit, HubSpot explained that gathering company data has gotten easier over the years, but challenges still remain around analyzing and using that data. It believed that by combining Clearbit’s data with HubSpot’s platform, companies would be able to enrich their internal customer data with more real-time external context, explained Yamini Rangan, CEO of HubSpot, in a statement.

“Clearbit has made it its mission to collect rich and useful data about millions of companies. HubSpot’s AI-powered customer platform combined with Clearbit’s data will create a powerful, winning combination for our customers,” she noted.

Clearbit had raised $17 million to date, according to data from Pitchbook, which saw the startup valued at $250 million as of January 2019. Its Series A investors included Bedrock, Battery, Cross Creek, and Zetta Venture Partners.

Deal terms were not immediately available.

“Clearbit has always believed that data is fundamental to the best B2B go-to-market teams,” noted Sornson, in a statement. “By joining forces with HubSpot, the industry’s most loved B2B customer platform, we will unlock a whole new level of value for our customers and help all of B2B grow better.”

HubSpot unveils strategy to integrate AI across the platform

Know more about this deal? Sarah Perez can be reached at sarahp@techcrunch.com or Signal (415) 234-3994

How to Use Data Governance for AI/ML Systems

Data governance plays a pivotal role in ensuring data is available, consistent, usable, trusted and secure. There are many challenges faced with maintaining data governance, and the ante is upped for systems such as artificial intelligence and machine learning.

AI/ML systems function differently from traditional, fixed record systems. The objective isn’t to return a value or a status for a single transaction. Rather, an AI/ML system sifts through petabytes of data seeking answers to queries that may be vast and multifaceted.

Furthermore, data can come from many different internal and external sources, each with its own way of collecting, curating and storing data, which may or may not conform to your organization’s governance standards. Then, there’s a matter of making sure AI/ML systems are trained on trustworthy data to ensure accuracy.

These are just some of the concerns companies and their auditors face as they focus on data governance for AI/ML and look for tools that can help them.

Jump to:

  • Why is data governance necessary for AI/ML systems?
  • How does data governance work with AI/ML systems?
  • Challenges in implementing data governance for AI/ML systems
  • How to use data governance for AI/ML systems
  • Data governance tools for AL/ML systems

Why is data governance necessary for AI/ML systems?

According to the IBM Global AI Adoption Index 2022, the global AI adoption rate is at 35% and ubiquitous in some industries and countries around the world. This rapid adoption of AI and ML systems to drive innovation and decision making makes the integrity and management of the underlying data paramount.

SEE: Learn more about data governance.

Compared to traditional computing systems, AI and ML systems are more nuanced, underscoring the importance of data governance. There are two main reasons why a robust data governance framework is necessary for AI/ML systems:

  • Dynamic structure: Compared to traditional data systems, AI/ML systems are dynamic — constantly evolving and learning from both structured and unstructured data.
  • Data volume and variety: The efficacy of an AI/ML system is directly proportional to the volume and variety of the datasets it trains on and learns from.

Because of these factors, without strict governance, AI/ML systems can produce inconsistent, inaccurate and even biased outputs.

How does data governance work with AI/ML systems?

AI/ML systems are designed to handle vast amounts of data simultaneously and asynchronously. This means multiple threads of data are fed into the processor at the same time, allowing for faster and more efficient data processing.

However, this also introduces complexities. The primary goal of an AI/ML system is to search through massive datasets to find answers, ranging from predicting future trends based on historical data to identifying patterns in e-commerce data. If the data from one source is corrupted or biased, it can influence the overall output, making the results unreliable.

Therefore, it’s critically important to incorporate rigorous data governance into the process to ensure each thread of data is accurate, relevant and free from biases.

The role of IT in speeding up data processing

IT departments play a pivotal role in the AI/ML data governance process. By preprocessing and weeding out irrelevant or redundant data, they can significantly speed up data processing times for AI/ML systems. This ensures the AI/ML models run efficiently and work with the most relevant and high-quality data.

SEE: Explore these top data preparation tools.

In addition, IT teams can implement tools and protocols to automate many governance tasks, such as data validation, ensuring consistency across data sources and monitoring for potential security breaches.

Challenges in implementing data governance for AI/ML systems

The integration and management of data for AI/ML systems pose several data governance challenges organizations need to navigate.

Integrating data from several sources

When organizations gather data from multiple sources, each with its own governance standards, ensuring consistency becomes a significant obstacle. This diversity can result in data mismatches, redundancies and inaccuracies.

Data must be harmonized to provide a comprehensive view that’s essential for efficacy. Integrating the data into a unified format is a complex process that involves cleaning, transformation and normalization.

To avoid flawed models, it’s critical to ensure the vast datasets used by AI/ML systems are accurate and relevant.

Trusting recommendations

The training data of some AI/ML models is secret, making it difficult for organizations to fully trust and comprehend the recommendations provided by these systems. Without insight into how decisions are made, there’s a risk of misinterpretation or misuse.

For example, AI/ML models sometimes reflect or amplify biases in the data. According to a study by Obermeyer et al, an algorithm that used health costs as a proxy for health needs, assigned Black patients, who were sicker than other White patients, the same level of health risk.

Knowing what training data is used for the model and that rigorous data governance is practiced can help in identifying and rectifying these biases, ensuring fairness in model outcomes.

Maintaining data quality

Since AI/ML systems heavily depend on high quality data, it’s crucial to ensure the data is clean, accurate and up to date. Poor data quality can lead to wrong model predictions and insights.

For example, poor data quality can lead to biases in predictions. A discontinued Amazon hiring model is another great example where a ML trained on a decade’s worth of résumés in 2014 developed a bias against female candidates.

Implementing a data governance for AI/ML systems ensures the data used is always of the highest quality, which can help to eliminate any biases or inaccuracies.

Data security and privacy

Handling high volumes of processed data requires constant vigilance in protecting sensitive information and complying with regulations. Greater volumes of data come with an increased security and compliance risk that demands adherence to many different data privacy and protection laws that cut across borders.

SEE: Explore these top data quality tools.

Lapses in data security can have dire consequences, such as unauthorized access, data tampering and breaches. It can also undermine trust in the AI system and lead to legal consequences that damage a company’s reputation and result in financial losses through declining sales or regulatory fines.

A data governance policy proactively ensures data security complies with data protection regulations, employs encryption methods and monitors data access regularly through audits

How to use data governance for AI/ML systems

The future of data governance in AI/ML isn’t only about managing data but also ensuring it’s leveraged responsibly and effectively. As the landscape of AI/ML evolves, so does the importance of robust data governance. Organizations must be proactive, adaptable and equipped with the right tools to navigate this terrain.

Ensure data is consistent and accurate

When integrating data from internal and external transactional systems, the data should be standardized, so it can communicate and blend with data from other sources. Application programming interfaces that are prebuilt in many systems facilitate this, so they can exchange data with other systems. If there aren’t available APIs, businesses can use ETL tools, which transfer data from one system into a format another system can read.

When adding unstructured data such as photographic, video and sound objects, there are object-linking tools that can link and relate these objects to each other. A good example of an object-linker is a geographic information system, which combines photographs, schematics and other types of data to deliver a full geographic context for a particular setting.

Confirm data is usable

We often think of usable data as data users can access, but it’s more than that. If data has lost its value because it’s obsolete, it should be purged. That said, IT and business users have to agree on when data should be purged. This will come in the form of data retention policies.

PREMIUM: Take advantage of this electronic data retention policy.

There are other occasions when AI/ML data should be purged. This happens when a data model for AI is changed, and the data no longer fits the model.

In an AI/ML governance audit, examiners will expect to see written policies and procedures for both types of data purges. They will also check to see that data purge practices are in compliance with industry standards. To keep up with these standards and practices, businesses should consider investing in data purge tools and utilities.

Make sure data is trusted

Circumstances change. An AI/ML system that once worked quite efficiently may begin to lose effectiveness. This is known as model drift. This can be confirmed by regularly checking AI/ML results against past performance and against what is happening in the world. If the accuracy of the AI/ML system is drifting away from current data, it’s essential to fix it.

PREMIUM: Make sure your business is outfitted with an AI ethics policy.

There are AI/ML tools that data scientists use to measure model drift, but the most direct way for business professionals to check for drift is to cross-compare AI/ML system performance with historical performance.

Data governance tools for AL/ML systems

To address the challenges of implementing data governance in AI/ML systems, organizations can invest in data governance tools. Here are some of the top tools:

  • Collibra: A holistic data governance platform suitable for comprehensive data management and governance.
  • Informatica: Renowned for data integration, it’s ideal for integrating data from multiple sources.
  • Alation: Automates data discovery and cataloging using machine learning.
  • Erwin: Provides data modeling capabilities, helping businesses understand their data landscape.
  • OneTrust: Emphasizes data compliance, helping businesses adhere to regulations.
  • SAP Master Data Governance: Offers robust data processing and governance for enterprises.

For a more detailed analysis of data governance tools and how they can benefit your organization, read our review of the Top Data Governance Tools of 2023.

woman working with data on laptop

Subscribe to the Data Insider Newsletter

Learn the latest news and best practices about data science, big data analytics, artificial intelligence, data security, and more.

Delivered Mondays and Thursdays Sign up today

Can ChatGPT predict the future? Training AI to figure out what happens next

nyu-2023-llmtime-predicting-time-series-diagram

NYU's LLMtime program finds the next likely event in a sequence of events, as represented in strings of numeric digits.

Today's generative artificial intelligence programs, tools such as ChatGPT, are on course to produce many more kinds of results than just text, as ZDNET has explored in some depth.

One of the most important of those "modalities," as they're known, is what's called time series data — data that measures the same variables at different points in time to spot trends. Data in a time series format can be important for things such as tracking patient medical history over time with the entries made by a physician in a chart. Doing what's called time series forecasting means taking the historical data and predicting what's happening next; for example: "Will this patient get better?"

Also: ChatGPT seems to be confused about when its knowledge ends

Traditional approaches to time series data involve software specially designed for just that type of data. But now, generative AI is gaining a new ability to handle time series data in the same way it handles essay questions, image generation, software coding, and the various other tasks at which ChatGPT and similar programs have excelled.

In a new study published this month by Nate Gruver of New York University and colleagues from NYU and Carnegie Mellon, OpenAI's GPT-3 program is trained to predict the next event in a time series similar to predicting the next word in a sentence.

"Because language models are built to represent complex probability distributions over sequences, they are theoretically well-suited for time series modeling," write Gruver and team in their paper, "Large Language Models Are Zero-Shot Time Series Forecasters," posted on the arXiv pre-print server. "Time series data typically takes the exact same form as language modeling data, as a collection of sequences."

The program they created, LLMTime, is "exceedingly simple," write Gruver and team, and able to "exceed or match purpose-built time series methods over a range of different problems in a zero-shot fashion, meaning that LLMTime can be used without any fine-tuning on the downstream data used by other models."

Also: Generative AI will far surpass what ChatGPT can do. Here's everything on how the tech advances

The key to building LLMTime was for Gruver and team to re-think what's called "tokenization," the way that a large language model represents the data it's working on.

Programs such as GPT-3 have a certain way that they input words and characters, by breaking them up into chunks that can be ingested one at a time. Time series data is represented as sequences of numbers, such as "123"; the time series is just the pattern in which such digit sequences occur.

Given that, the tokenization of GPT-3 is problematic because it will often break up those strings into awkward groupings. "For example, the number 42235630 gets tokenized as [422, 35, 630] by the GPT-3 tokenizer, and changes by even a single digit can result in an entirely different tokenization," relate Gruver and team.

To avoid those awkward groupings, Gruver and team built code to insert white space around every digit of a digit sequence, so that each digit would be encoded separately.

Also: 3 ways AI is revolutionizing how health organizations serve patients. Can LLMs like ChatGPT help?

They then went to work training GPT-3 to forecast the next digit sequence in real-world examples of time series.

Any time series is a sequence of things that occur one after the other, such as, "The dog jumped down from the couch and ran to the door," where there's one event, and then another. An example of a real data set about which people want to make predictions would be predicting ATM withdrawals based on historical withdrawals. A bank would be very interested in predicting such things.

ATM withdrawal predicting is, in fact, one of the challenges of a real-time series competition like the Artificial Neural Network & Computational Intelligence Forecasting Competition, run by the UK's Lancaster University. That set of data is simply strings and strings of numbers, in this form:

T1: 1996-03-18 00-00-00 : 13.4070294784581, 14.7250566893424, etc.

The first part is obviously the date and time stamp for "T1," representing the first moment in time, and what follows are amounts (separated by dots, not commas, as is the case in European notation). The challenge for a neural net is to predict, given thousands or even millions of such items, what would happen in the next moment in time after the last example in the series — how much will be withdrawn by clients tomorrow.

Also: This new technology could blow away GPT-4 and everything like it

The authors relate, "Not only is LLMTime able to generate plausible completions of the real and synthetic time series, it achieves higher likelihoods […] in zero-shot evaluation than the dedicated time series models […]" that have been created for decades.

The LLMtime program finds where a number is in a distribution, a distinct pattern of recurrence of numbers, to conclude whether a sequence represents one of the common patterns such as "exponential" or Gaussian.

However, one of the limitations of the large language models, Gruver and team point out, is that they can only take in so much data at a time, known as the "context window." To handle larger and larger time series, the programs will need to expand that context window to many more tokens. That's a project being explored by numerous parties, such as the Hyena team at Stanford University and Canada's MILA Institute for AI and Microsoft, among others.

Also: Microsoft, TikTok give generative AI a sort of memory

The obvious question is why a large language model should be good at predicting numbers. As the authors note, for any sequence of numbers such as the ATM withdrawals, there are "arbitrarily many generation rules that are consistent with the input." Translation: There are so many reasons why those particular strings of numbers might appear, it would be hard to guess what the underlying rule is that accounts for them.

The answer is that GPT-3 and its ilk find the rules that are the simplest among all possible rules. "LLMs can forecast effectively because they prefer completions derived from simple rules, adopting a form of Occam's razor," write Gruver and team, referring to the principle of parsimony.

Sometimes the GPT-4 program is led astray when it tries to reason out what the pattern of a time series is, showing that it doesn't actually "understand" the time series in the traditional sense.

That doesn't mean that GPT-3 really understands what's going on. In a second experiment, Gruver and team submitted to GPT-4 (GPT-3's more powerful successor) a new data set they made up using a particular mathematical function. They asked GPT-4 to deduce the mathematical function that produced the time series, to answer the question, "whether GPT-4 can explain in text its understanding of a given time series," write Gruver and team.

They found GPT-4 was able to guess the mathematical function better than random chance, but it produced some explanations that were off the mark. "The model sometimes makes incorrect deductions about the behavior of the data it has seen, or the expected behavior of the candidate functions." In other words, even when a program such as GPT-4 can do well at predicting the next thing in a time series, its explanations end up being "hallucinations," the tendency to offer incorrect answers.

Also: Implementing AI into software engineering? Here's everything you need to know

Gruver and team are enthusiastic about how time series fits into a multi-modal future for generative AI. "Framing time series forecasting as natural language generation can be seen as another step towards unifying more capabilities within a single large and powerful model, in which understanding can be shared between many tasks and modalities," they write in their concluding section.

The code for LLMTime is posted on GitHub.

Artificial Intelligence

Google launches generative AI tools for product imagery to U.S. advertisers and merchants

Google launches generative AI tools for product imagery to U.S. advertisers and merchants Sarah Perez @sarahintampa / 8 hours

Following Amazon’s adoption of generative AI for advertisers last week, Google today is launching a set of generative AI product imagery tools for advertisers in the U.S. Via the new, AI-powered Product Studio, merchants and advertisers will be able to leverage text-to-image AI capabilities to create new product imagery for free, simply by typing in a prompt of the image they want to use.

The feature can be used for simple tasks, like changing the color of the background behind the product images or making the background a solid color. Or it could be used for something more advanced, like requesting a product be shown in a particular scene. For example, when the company first announced the feature in May, it suggested a skincare company could request seasonal imagery by typing something like a product that was “surrounded by peaches with tropical plants in the background.” Now that same company could request something winter-related, like the product “sitting on snow surrounded by pine branches or pinecones.”

Image Credits: Google

The generative AI model can also help to improve low-quality images without requiring a reshoot as well as remove a distracting background, Google said.

By offering AI imagery capabilities, businesses of all sizes will have the ability to create professional images alongside their ads, without having to spend repeatedly on new photography sessions. We expect the feature will be used to augment the existing product photography a business already has on hand, allowing them to reuse their assets across different campaigns — like seasonal efforts or those centered around some sort of theme — even if it doesn’t replace the initial photoshoot.

The feature is being made available to all Merchant Center Next users in the U.S. and the Google and YouTube app on Shopify, Google says. It begins rolling out today.

The AI feature launched alongside other new additions for merchants, including a “small business” attribute for Google Search and Maps that will highlight to customers which brands have designed themselves as small businesses. Google said it will automatically add this attribute to some listings based on factors like how many products they offer or how much web traffic they see. However, businesses can also set the attribute or remove it from the Merchant Center or their Business Profile at any time.

Google says it will also start showing more information to shoppers through the knowledge panel when customers are looking up merchant names on Search. Previously, this panel would share information like the location of the business’s HQ or the number of employees.

Image Credits: Google

Now it will also show information like current deals, shipping and return policies, customer service information, and ratings and reviews. Some of this information is already shared with Google via Merchant Center, but will now be augmented with other authoritative information from across the web, the company said. The panel has helped drive over 2.3 billion connections to U.S. businesses per month in 2022, Google noted, including calls, requests for directions, bookings, and reviews.

The updated panel will roll out this month.

Google introduces Product Studio, a tool that lets merchants create product imagery using generative AI

ChatDev : Communicative Agents for Software Development

ChatDev : AI Assisted Software Development

The software development industry is a domain that often relies on both consultation and intuition, characterized by intricate decision-making strategies. Furthermore, the development, maintenance, and operation of software require a disciplined and methodical approach. It's common for software developers to base decisions on intuition rather than consultation, depending on the complexity of the problem. In an effort to enhance the efficiency of software engineering, including the effectiveness of software and reduced development costs, scientists are exploring the use of deep-learning-based frameworks to tackle various tasks within the software development process. With recent developments and advancements in the deep learning and AI sectors, developers are seeking ways to transform software development processes and practices. They are doing this by using sophisticated designs implemented at different stages of the software development process.

Today, we're going to discuss ChatDev, a Large Language Model (LLM) based, innovative approach that aims to revolutionize the field of software development. This paradigm seeks to eliminate the need for specialized models during each phase of the development process. The ChatDev framework leverages the capabilities of LLM frameworks, utilizing natural language communication to unify and streamline key software development processes.

In this article, we will explore ChatDev, a virtual-powered company specializing in software development. ChatDev adopts the waterfall model and meticulously divides the software development process into four primary stages.

  1. Designing.
  2. Coding.
  3. Testing.
  4. Documentation.

Each of these stages deploys a team of virtual agents like code programmers or testers that collaborate with each other using dialogues that result in a seamless workflow. The chat chain works as a facilitator, and breaks down each stage of the development process into atomic subtasks, thus enabling dual roles, allowing for proposals and validation of solutions using context-aware communications that allows developers to effectively resolve the specified subtasks.

ChatDev : AI Assisted Software Development

ChatDev’s instrumental analysis demonstrates that not only is the ChatDev framework extremely effective in completing the software development process, but it is extremely cost efficient as well as it completes the entire software development process in just under a dollar. Furthermore, the framework not only identifies, but also alleviates potential vulnerabilities, rectifies potential hallucinations, all while maintaining high efficiency, and cost-effectiveness.

ChatDev : An Introduction to LLM-Powered Software Development

Traditionally, the software development industry is one that is built on the foundations of a disciplined, and methodical approach not only for developing the applications, but also for maintaining, and operating them. Traditionally speaking, a typical software development process is a highly intricate, complex, and time-taking meticulous process with long development cycles, as there are multiple roles involved in the development process including coordination within the organization, allocation of tasks, writing of code, testing, and finally, documentation.

In the last few years, with the help of LLM or Large Language Models, the AI community has achieved significant milestones in the fields of computer vision, and natural language processing, and following training on “next word prediction” paradigms, Large Language Models have well demonstrated their ability to return efficient performance on a wide array of downstream tasks like machine translation, question answering, and code generation.

Although Large Language Models can write code for the entire software, they have a major drawback : code hallucinations, which is quite similar to the hallucinations faced by natural language processing frameworks. Code hallucinations can include issues like undiscovered bugs, missing dependencies, and incomplete function implementations. There are two major causes of code hallucinations.

  • Lack of Task Specification: When generating the software code in one single step, not defining the specific of the task confuses the LLMs as tasks in the software development process like analyzing user requirements, or selecting the preferred programming language often provide guided thinking, something that is missing from the high-level tasks handled by these LLMs.
  • Lack of Cross Examination : Significant risks arrive when a cross examination is not performed especially during the decision making processes.

ChatDev aims to solve these issues, and facilitate LLMs with the power to create state of the art, and effective software applications by creating a virtual-powered company for software development that establishes the waterfall model, and meticulously divides the software development process into four primary stages,

  1. Designing.
  2. Coding.
  3. Testing.
  4. Documentation.

Each of these stages deploys a team of virtual agents like code programmers or testers that collaborate with each other using dialogues that result in a seamless workflow. Furthermore, ChatDev makes use of a chat chain that works as a facilitator, and breaks down each stage of the development process into atomic subtasks, thus enabling dual roles, allowing for proposals and validation of solutions using context-aware communications that allows developers to effectively resolve the specified subtasks. The chat chain consists of several nodes where every individual node represents a specific subtask, and these two roles engage in multi-turn context-aware discussions to not only propose, but also validate the solutions.

In this approach, the ChatDev framework first analyzes a client’s requirements, generates creative ideas, designs & implements prototype systems, identifies & addresses potential issues, creates appealing graphics, explains the debug information, and generates the user manuals. Finally, the ChatDev framework delivers the software to the user along with the source code, user manuals, and dependency environment specifications.

ChatDev : Architecture and Working

Now that we have a brief introduction to ChatDev, let’s have a look at the architecture & working of the ChatDev framework starting with the Chat Chain.

Chat Chain

As we have mentioned in the previous section, the ChatDev framework uses a waterfall method for software development that divides the software development process into four phases including designing, coding, testing, and documentation. Each of these phases have a unique role in the development process, and there is a need for effective communication between them, and there are potential challenges faced when identifying individuals to engage with, and determining the sequence of interactions.

To address this issue, the ChatDev framework uses Chat Chain, a generalized architecture that breaks down each phase into a subatomic chat, with each of these phases focussing on task-oriented role playing that involves dual roles. The desired output for the chat forms a vital component for the target software, and it is achieved as a result of collaboration, and exchange of instructions between the agents participating in the development process. The chat chain paradigm for intermediate task-solving is illustrated in the image below.

For every individual chat, an instructor first initiates the instructions, and then guides the dialogue towards the completion of the task, and in the meantime, the assistants follow the instructions laid by the instructor, provide ideal solutions, and engage in discussions about the feasibility of the solution. The instructor and the agent then engage in multi-turn dialogues until they arrive at a consensus, and they deem the task to be accomplished successfully. The chain chain provides users with a transparent view of the development process, sheds light on the path for making decisions, and offers opportunities for debugging the errors when they arise, that allows the end users to analyze & diagnose the errors, inspect intermediate outputs, and intervene in the process if deemed necessary. By incorporating a chat chain, the ChatDev framework is able to focus on each specific subtask on a granular scale that not only facilitates effective collaboration between the agents, but it also results in the quick attainment of the required outputs.

Designing

In the design phase, the ChatDev framework requires an initial idea as an input from the human client, and there are three predefined roles in this stage.

  1. CEO or Chief Executive Officer.
  2. CPO or Chief Product Officer.
  3. CTO or Chief Technical Officer.

The chat chain then comes into play dividing the designing phase into sequential subatomic chatting tasks that includes the programming language(CTO and CEO), and the modality of the target software(CPO and CEO). The designing phase involves three key mechanisms: Role Assignment or Role Specialization, Memory Stream, and Self-Reflection.

Role Assignment

Each agent in the Chat Dev framework is assigned a role using special messages or special prompts during the role-playing process. Unlike other conversational language models, the ChatDev framework restricts itself solely to initiating the role-playing scenarios between the agents. These prompts are used to assign roles to the agents prior to the dialogues.

Initially, the instructor takes the responsibilities of the CEO, and engages in interactive planning whereas the responsibilities of the CPO are handled by the agent that executes tasks, and provides the required responses. The framework uses “inception prompting” for role specialization that allows the agents to fulfill their roles effectively. The assistant, and instructor prompts consist of vital details concerning the designated roles & tasks, termination criteria, communication protocols, and several constraints that aim to prevent undesirable behaviors like infinite loops, uninformative responses, and instruction redundancy.

Memory Stream

The memory stream is a mechanism used by the ChatDev framework that maintains a comprehensive conversational record of the previous dialogue’s of an agent, and assists in the decision-making process that follows in an utterance-aware manner. The ChatDev framework uses prompts to establish the required communication protocols. For example, when the parties involved reach a consensus, an ending message that satisfies a specific formatting requirement like (<MODALITY>: Desktop Application”). To ensure compliance with the designated format, the framework continuously monitors, and finally allows the current dialogue to reach a conclusion.

Self Reflection

Developers of the ChatDev framework have observed situations where both the parties involved had reached a mutual consensus, but the predefined communication protocols were not triggered. To tackle these issues, the ChatDev framework introduces a self-reflection mechanism that helps in the retrieval and extraction of memories. To implement the self-reflection mechanism, the ChatDev framework initiates a new & fresh chat by enlisting “pseudo self” as a new questioner. The “pseudo self” analyzes the previous dialogues & historical records, and informs the current assistant following which, it requests a summary of conclusive & action worthy information as demonstrated in the figure below.

With the help of the self-help mechanism, the ChatDev assistant is encouraged to reflect & analyze the decisions it has proposed.

Coding

There are three predefined roles in the coding phase namely the CTO, the programmer, and the art designer, As usual, the chat chain mechanism divides the coding phase into individual subatomic tasks like generating codes(programmer & CTO), or to devise a GUI or graphical user interface(programmer & designer). The CTO then instructs the programmer to use the markdown format to implement a software system following which the art designer proposes a user-friendly & interactive GUI that makes use of graphical icons to interact with users rather than relying on traditional text based commands.

Code Management

The ChatDev framework uses object-oriented programming languages like Python, Java, and C++to handle complex software systems because the modularity of these programming languages enables the use of self-contained objects that not only aid in troubleshooting, but also with collaborative development, and also helps in removing redundancies by reusing the objects through the concept of inheritance.

Thought Instructions

Traditional methods of question answering often lead to irrelevant information, or inaccuracies especially when generating code as providing naive instructions might lead to LLM hallucinations, and it might become a challenging issue. To tackle this issue, the ChatDev framework introduces the “thought instructions” mechanism that draws inspiration from chain-of-thought prompts. The “thought instructions” mechanism explicitly addresses individual problem-solving thoughts included in the instructions, similar to solving tasks in a sequential & organized manner.

Testing

Writing an error-free code in the first attempt is challenging not only for LLMs, but also for human programmers, and rather than completely discarding the incorrect code, programmers analyze their code to identify the errors, and rectify them. The testing phase in the ChatDev framework is divided into three roles: programmer, tester, and reviewer. The testing process is further divided into two sequential subatomic tasks: Peer Review or Static Debugging (Reviewer, and Programmer), and System Testing or Dynamic Debugging (Programmer and Tester). Static debugging or Peer review analyzes the source code to identify errors whereas dynamic debugging or system testing verifies the execution of the software through various tests that are conducted using an interpreter by the programmer. Dynamic debugging focuses primarily on black-box testing to evaluate the applications.

Documentation

After the ChatDev framework is done with designing, coding, and testing phases, it employs four agents namely the CEO, CTO, CPO, and Programmer to generate the documentation for the software project. The ChatDev framework uses LLMs to leverage few-shot prompts with in-context examples to generate the documents. The CTO instructs the programmer to provide the instructions for configuration of environmental dependencies, and create a document like “dependency requirements.txt”. Simultaneously, the requirements and system design are communicated to the CPO by the CEO, to generate the user manual for the product.

Results

Software Statistics

To analyze the performance of the ChatDev framework, the team of developers ran a statistical analysis on the software applications generated by the framework on the basis of a few key metrics including consumed tokens, total dialogue turns, image assets, software files, version updates, and a few more, and the results are demonstrated in the table below.

Duration Analysis

To examine ChatDev’s production time for software for different request prompts, the developers also conducted a duration analysis, and the difference in the development time for different prompts reflects the varying clarity & complexity of the tasks assigned, and the results are demonstrated in the figure below.

Case Study

The following figure demonstrates ChatDev developing a Five in a Row or a Gomoku game.

The leftmost figure demonstrates the basic software created by the framework without using any GUI. As it can be clearly seen, the application without any GUI offers limited interactivity, and users can play this game only though the command terminal. The next figure demonstrates a more visually appealing game created with the use of GUI, offers a better user experience, and an enhanced interactivity for an engaging gameplay environment that can be enjoyed much more by the users. The designer agent then creates additional graphics to further enhance the usability & aesthetics of the gameplay without affecting any functionality. However, if the human users are not satisfied with the image generated by the designer, they can replace the images after the ChatDev framework has completed the software. The flexibility offered by ChatDev framework to manually replace the images allows users to customize the applications as per their preferences for an enhanced interactivity & user experience without affecting the functionality of the software in any way.

Final Thoughts

In this article, we have talked about ChatDev, an LLM or Large Language Model based innovative paradigm that aims to revolutionize the software development field by eliminating the requirement for specialized models during each phase of the development process. The ChatDev framework aims to leverage the abilities of the LLM frameworks by using natural language communication to unify & streamline key software development processes. The ChatDev framework uses the chat chain mechanism to break the software development process into sequential subatomic tasks, thus enabling granular focus, and promoting desired outputs for every subatomic task.

Vespa.ai Raises $31 Million Series A Investment from Blossom Capital

Vespa.ai Raises $31 Million Series A Investment from Blossom Capital November 1, 2023 by Ali Azhar

Vespa.ai, a leading AI-based search platform and scaling engine, announced it had raised $31 million in Series A funding from Blossom Capital to advance the development of its search platform Vespa and Vespa Cloud service.

Blossom Capital is a venture capital investment firm based out of London, United Kingdom. The fund is renowned for investing in early-stage and seed-stage companies and is actively pursuing investment in information technology in the United States and Europe.

Last month Vespa.ai spun out of Yahoo as a standalone company after many years of driving AI innovation and growth for the internet giant. Vespa helps clients, including several Fortune 500 companies, to apply AI to store, search, and apply unlimited qualities of data to derive actionable intelligence and insights in real time.

The investment by Blossom Capital will help take Vespa to the next level. One of the key challenges in Enterprise AI is scaling, and Vespa can help address this issue through its cutting-edge technology.

The new funding will speed up the development of features that will make it easier for developers to create new applications and integrate AI models with property data sets. According to Ophelia Brown, Founder of Blossom Capital, Vespa is “It’s light-years ahead of anything else on the market, and Blossom is thrilled to help them take things to the next level.

With more than ten million downloads on Docker Hub, Vesa is the trusted choice of enterprises globally. The ability of Vespa to scan billions of documents in real time offers a wide range of applications. It can help global social media platforms with better content suggestions to keep users engaged, help clients ensure compliance, and enhance ad relevance at checkout for online retailers. The open-source architecture is an added advantage.

(Blue Planet Studio/Shutterstock)

“As companies around the world race to adopt and adapt to AI, they face significant technical and financial burdens. Vespa’s unprecedented capabilities and functionalities, built on two decades of use and development, allow organizations of all sizes to realize their AI ambitions at scale while dramatically limiting cost and processing times and improving user experience,” said Jon Bratseth, CEO of Vespa.ai. “The investment from Blossom will allow us to further increase functionality and provide our end-to-end services to a larger number of enterprise clients.”

As AI applications increase the number of customers and amount of data, there are going to be increased operational challenges including scaling issues. Vesta can help solve these challenges by providing the functionality and capacity to scale any amount of load, data, or complexity. It can also provide excellent search results with sophisticated scoring and relevance.

The integrated approach for applying AI to data during serving time and using vectors, text, structured data, and tensors, allows Vespa to deliver high-quality solutions to diverse use cases. This includes everything from recommendation and ad targeting to search and retrieval-augmented generation (RAG). All the end-to-end needs of the applications can be handled by Vespa including scaling any amount of data.

Related Items

Oracle Introduces Integrated Vector Database for Generative AI

Half of AI Models Never Make It To Production: Gartner

ChaosSearch Tackles Live Search, SQL, and Gen AI Analytics with LakeDB

Related

Leveraging the Power of GPUs with CuPy in Python

Leveraging the Power of GPUs with CuPy in Python
Image by Author What is CuPy?

CuPy is a Python library that is compatible with NumPy and SciPy arrays, designed for GPU-accelerated computing. By replacing NumPy with CuPy syntax, you can run your code on NVIDIA CUDA or AMD ROCm platforms. This allows you to perform array-related tasks using GPU acceleration, which results in faster processing of larger arrays.

By swapping out just a few lines of code, you can take advantage of the massive parallel processing power of GPUs to significantly speed up array operations like indexing, normalization, and matrix multiplication.

CuPy also enables access to low-level CUDA features. It allows passing of ndarrays to existing CUDA C/C++ programs using RawKernels, streamlines performance with Streams, and enables direct calling of CUDA Runtime APIs.

Installing CuPy

You can install CuPy using pip, but before that you have to find out the right CUDA version using the command below.

!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver  Copyright (c) 2005-2022 NVIDIA Corporation  Built on Wed_Sep_21_10:33:58_PDT_2022  Cuda compilation tools, release 11.8, V11.8.89  Build cuda_11.8.r11.8/compiler.31833905_0

It seems that the current version of Google Colab is using CUDA version 11.8. Therefore, we will proceed to install the cupy-cuda11x version.

If you are running on an older CUDA version, I have provided a table below to help you determine the appropriate CuPy package to install.

Leveraging the Power of GPUs with CuPy in Python
Image from CuPy 12.2.0

After selecting the right version, we will install the Python package using pip.

pip install cupy-cuda11x

You can also use the conda command to automatically detect and install the correct version of the CuPy package if you have Anaconda installed.

conda install -c conda-forge cupy

Basics of CuPy

In this section, we will compare the syntax of CuPy with Numpy and they are 95% similar. Instead of using np you will be replacing it with cp.

We will first create a NumPy and CuPy array using the Python list. After that, we will calculate the norm of the vector.

import cupy as cp  import numpy as np    x = [3, 4, 5]     x_np = np.array(x)  x_cp = cp.array(x)     l2_np = np.linalg.norm(x_np)  l2_cp = cp.linalg.norm(x_cp)     print("Numpy: ", l2_np)  print("Cupy: ", l2_cp)

As we can see, we got similar results.

Numpy:  7.0710678118654755  Cupy:  7.0710678118654755

To convert a NumPy to CuPy array, you can simply use cp.asarray(X).

x_array = np.array([10, 22, 30])  x_cp_array = cp.asarray(x_array)  type(x_cp_array)
cupy.ndarray

Or, use .get(), to convert CuPy to Numpy array.

x_np_array = x_cp_array.get()  type(x_np_array)
numpy.ndarray

Performance Comparison

In this section, we will be comparing the performance of NumPy and CuPy.

We will use time.time() to time the code execution time. Then, we will create a 3D NumPy array and perform some mathematical functions.

import time    # NumPy and CPU Runtime  s = time.time()  x_cpu = np.ones((1000, 100, 1000))  np_result = np.sqrt(np.sum(x_cpu**2, axis=-1))  e = time.time()  np_time = e - s  print("Time consumed by NumPy: ", np_time)
Time consumed by NumPy: 0.5474584102630615

Similarly, we will create a 3D CuPy array, perform mathematical operations, and time it for performance.

# CuPy and GPU Runtime  s = time.time()  x_gpu = cp.ones((1000, 100, 1000))  cp_result = cp.sqrt(cp.sum(x_gpu**2, axis=-1))  e = time.time()  cp_time = e - s  print("nTime consumed by CuPy: ", cp_time)
Time consumed by CuPy: 0.001028299331665039

To calculate the difference, we will divide NumPy time with CuPy time and It seems like we got above 500X performance boost while using CuPy.

diff = np_time/cp_time  print(f'nCuPy is {diff: .2f} X time faster than NumPy')
CuPy is 532.39 X time faster than NumPy

Note: To achieve better results, it is recommended to conduct a few warm-up runs to minimize timing fluctuations.

Beyond its speed advantage, CuPy offers superior multi-GPU support, enabling harnessing of collective power of multiple GPUs.

Also, you can check out my Colab notebook, if you want to compare the results.

Conclusion

In conclusion, CuPy provides a simple way to accelerate NumPy code on NVIDIA GPUs. By making just a few modifications to swap out NumPy for CuPy, you can experience order-of-magnitude speedups on array computations. This performance boost allows you to work with much larger datasets and models, enabling more advanced machine learning and scientific computing.

Resources

  • Documentation: CuPy – NumPy & SciPy for GPU — CuPy 12.2.0 documentation
  • GitHub: cupy/cupy
  • Examples: cupy/examples
  • API: API Reference

Abid Ali Awan (@1abidaliawan) is a certified data scientist professional who loves building machine learning models. Currently, he is focusing on content creation and writing technical blogs on machine learning and data science technologies. Abid holds a Master's degree in Technology Management and a bachelor's degree in Telecommunication Engineering. His vision is to build an AI product using a graph neural network for students struggling with mental illness.

More On This Topic

  • Super Charge Python with Pandas on GPUs Using Saturn Cloud
  • Mastering GPUs: A Beginner's Guide to GPU-Accelerated DataFrames in Python
  • Not Only for Deep Learning: How GPUs Accelerate Data Science & Data…
  • Speeding up Neural Network Training With Multiple GPUs and Dask
  • Zero to RAPIDS in Minutes with NVIDIA GPUs + Saturn Cloud
  • From Google Colab to a Ploomber Pipeline: ML at Scale with GPUs

China’s tech vice minister calls for ‘equal rights’ at global AI summit in UK

China’s tech vice minister calls for ‘equal rights’ at global AI summit in UK Rita Liao 7 hours

Despite the ongoing technological decoupling between China and the West, both sides are converging to discuss the threat that runaway artificial intelligence may pose to humanity. Wu Zhaohui, China’s Vice Minister of Science and Technology, has led a delegation to attend the landmark AI safety summit organized by the U.K government this week.

A telling indication of China’s stance on AI lies in the selection of representatives sent to the event. Aside from Wu, a group of academics, including Andrew Yao, one of China’s most prominent computer scientists, are on the attendee list, reported Financial Times.

Yao and his group joined Western academics to call for “tighter controls” on AI, warning that the advanced technology poses an “existential risk to humanity” in the coming decades, according to the FT report.

Wu’s remarks, on the other hand, focused on the fairness of accessing advanced AI. “We uphold the principles of mutual respect, equality and mutual benefits. Countries regardless of their size and scale have equal rights to develop and use AI,” the technology vice minister said in a speech at the summit Wednesday.

“We call for global cooperation to share AI knowledge and make AI technologies available to the public on open source terms,” he added.

The minister’s statements appear to be addressing the supply chain obstacles faced by China’s AI companies amid escalating geopolitical tensions. The Biden Administration recently closed loopholes in restrictions that bar China from accessing Nvidia’s advanced AI processors, putting roadblocks in the country’s ability to effectively train large language models.

The event, which runs from Wednesday to Thursday at Bletchley Park, the top-secret home of the World War II Codebreakers, is graced by a lineup of politicians including Vera Jourova, the European Commission Vice President for Values and Transparency; Rajeev Chandrasekhar, India’s minister of state for Electronics and Information Technology; Omar Sultan al Olama, UAE Minister of State for Artificial Intelligence; and Bosun Tijani, technology minister in Nigeria.

China’s AI agenda

China’s participation in the event has been a subject of contention in recent weeks. Former British Prime Minister Liz Truss urged her successor Rishi Sunak to rescind the invitation of China to the summit, warning that AI is “a means of state control and a tool for national security” for Beijing.

In an op-ed, China’s state-owned tabloid Global Times fired back, asserting that the U.K. event “has never been devoid of the influence of domestic politics, geopolitics, values and ideologies all along.”

“[Globa]l AI governance lags far behind the speed of technological development,” the op-ed said. “Therefore, the world needs more comprehensive discussions. The UK hosting this global AI safety summit provides an opportunity for such discussions, regardless of any subjective calculations. China has supported the UK’s move with practical actions.”

It’s noteworthy that even within China’s bureacracies, there are probably divergent priorities regarding the development of AI. As Matt Sheehan, a fellow at the Carnegie Endowment for International Peace, suggested on X: “Several different ministries are angling to lead on Chinese AI governance at home & internationally.”

The two main apparatuses shaping AI governance in China are the Cyberspace Administration of China (CAC), the country’s top internet watchdog that has historically focused on policing internet content, and the Ministry of Science and Technology (MOST), which shapes the high-level direction of technological development. After years of participating and funding national programs, MOST recently restructured to focus on coordinating resources to help China achieve technological self-reliance from the West.

Similar dynamics of internal politics are at play in the governance of other young tech sectors in China. Gaming, for instance, is mainly under the purview of CAC, which supervises content and ideologies, and the The National Press and Publication Administration, which issues the much-coveted licenses for games to publish in China.

Politicians commit to collaborate to tackle AI safety, US launches safety institute

Straive Acquires Design-Led Data Analytics and AI Company Gramener

Straive, a leader in providing data/AI solutions to EdTech, research, and information services to global organizations has acquired Gramener, a New-jersey based design-led data science firm for an undisclosed amount. Avendus Capital Private Limited served as the exclusive financial advisor to Gramener in this acquisition.

Commenting on the acquisition, Ankor Rai, the CEO of Straive, said, “Straive helps clients create differentiated customer experiences, offerings, and operations by embedding unique data-driven insights and expert knowledge into digital & AI technologies, which are operationalized with experts-in-loop. Our clients can immediately accelerate their data/AI-powered transformation journey by leveraging Gramener’s experienced team, cutting-edge AI and analytics capabilities, and multi-industry experience.”

Gramener’s AI-driven platform uses technologies such as computer vision, natural language programming), natural language generation, and spatial analytics. The storytelling firm is recognized for its expertise in addressing complex business challenges through compelling data narratives using insights and a low-code AI-powered platform. Their services span across various industries, including pharmaceuticals & life sciences, logistics, manufacturing, ESG, technology and consulting.

Anand S, Co-Founder and CEO of Gramener, also chimed in on the development, stating, “We are convinced that combining our strengths will enable the creation of distinctive, end-to-end solutions spanning from Data to AI, and ultimately, Gen AI”. The company was co-founded in 2010 by a team of 7 former IBM and BCG leaders to address the need of complex data consumption for decision-making.

Last year, Gramener signed a Memorandum of Understanding (MoU) with the Telangana government to bring the company back to its Indian roots. The team announced plans to set up a state-of-the-art 250 seater R&D base at SLN-One West in the Nanakramguda Financial District, the IT hub of Hyderabad. The company also announced plans to bring 500 data science jobs to Hyderabad by 2024.

The post Straive Acquires Design-Led Data Analytics and AI Company Gramener appeared first on Analytics India Magazine.

7 Machine Learning Algorithms You Can’t Miss

7 Machine Learning Algorithms You Can't Miss
Image by Editor

Data science is a growing and varied field, and your work as a data scientist can cover many tasks and goals. Learning which algorithms work best in varying scenarios will help you meet these disparate needs.

It’s virtually impossible to be an expert in every kind of machine learning model, but you should understand the most common ones. Here are seven essential ML algorithms every data scientist should know.

Supervised Learning

Many companies prefer to use supervised learning models for their accuracy and straightforward real-world applications. While unsupervised learning is growing, supervised techniques are an excellent place to start as a data scientist.

1. Linear Regression

Linear regression is the most fundamental model for predicting values based on continuous variables. It assumes there’s a linear relationship between two variables and uses it to plot outcomes based on a given input.

Given the right data set, these models are easy to train and implement and relatively reliable. However, real-world relationships aren’t often linear, so it has limited relevance in many business applications. It also doesn’t manage outliers well, so it’s not ideal for large, varied data sets.

2. Logistic Regression

A similar but distinct machine learning algorithm you should know is logistic regression. Despite the similarity in name to linear regression, it’s a classification algorithm, not an estimation one. Whereas linear regression predicts a continuous value, logistic regression predicts the probability of data falling into a given category.

Logistic regression is common in predicting customer churn, forecasting weather and projecting product success rates. Like linear regression, it’s easy to implement and train but prone to overfitting and struggles with complex relationships.

3. Decision Trees

Decision trees are a fundamental model you can use for classification and regression. They split data into homogeneous groups and keep segmenting them into further categories.

Because decision trees work like flow charts, they’re ideal for complex decision-making or anomaly detection. Despite their relative simplicity, though, they can take time to train.

4. Naive Bayes

Naive Bayes is another simple yet effective classification algorithm. These models operate on Bayes’ Theorem, which determines conditional probability — the likelihood of an outcome based on similar occurrences in the past.

These models are popular in text-based and image classification. They may be too simplistic for real-world predictive analytics, but they’re excellent in these applications and handle large data sets well.

Unsupervised Learning

Data scientists should also understand basic unsupervised learning models. These are some of the most popular of this less common but still important category.

5. K-Means Clustering

K-means clustering is one of the most popular unsupervised machine learning algorithms. These models classify data by grouping it into clusters based on their similarities.

K-means clustering is ideal for customer segmentation. That makes it valuable to businesses that want to refine marketing or speed onboarding, thus reducing their costs and churn rates in the process. It’s also useful for anomaly detection. However, it’s essential to standardize the data before feeding it to these algorithms.

6. Random Forest

As you might guess from the name, random forests consist of multiple decision trees. Training each tree on randomized data and grouping the results lets these models produce more reliable results.

Random forests are more resistant to overfitting than decision trees and are more accurate in real-world applications. That reliability comes at a cost, though, as they can also be slow and require more computing resources.

7. Singular Value Decomposition

Singular value decomposition (SVD) models break complex data sets into easier-to-understand bits by separating them into their fundamental parts and removing redundant information.

Image compression and noise removal are some of the most popular applications for SVD. Considering how file sizes keep growing, those use cases will become increasingly valuable over time. However, building and applying these models can be time-consuming and complex.

Know These Machine Learning Algorithms

These seven machine learning algorithms are not an exhaustive list of what you may use as a data scientist. However, they are some of the most fundamental model types. Understanding these will help kickstart your career in data science and make it easier to comprehend other, more complex algorithms that build on these basics.

April Miller is managing editor of consumer technology at ReHack Magazine. She have a track record of creating quality content that drives traffic to the publications I work with.

More On This Topic

  • If You Can Write Functions, You Can Use Dask
  • Ready for #2022Analytics in Houston? The Networking, Connections,…
  • AI in Dating: Can Algorithms Help You Find Love?
  • Don't Miss Out! Enroll in FREE Courses Before 2023 Ends
  • Leaders at Allstate, eBay & Red Bull Agree: Don’t Miss the Rev 3…
  • How our Obsession with Algorithms Broke Computer Vision: And how…