AI Chatbots Are Promising but Limited in Promoting Healthy Behavior Change

In recent years, the healthcare industry has witnessed a significant increase in the use of large language model-based chatbots, or generative conversational agents. These AI-powered tools have been employed for various purposes, including patient education, assessment, and management. As the popularity of these chatbots grows, researchers from the University of Illinois Urbana-Champaign's ACTION Lab have taken a closer look at their potential to promote healthy behavior change.

Michelle Bak, a doctoral student in information sciences, and Professor Jessie Chin recently published their findings in the Journal of the American Medical Informatics Association. Their study aimed to determine whether large language models could effectively identify users' motivational states and provide appropriate information to support their journey towards healthier habits.

Study Design

To assess the capabilities of large language models in promoting behavior change, Bak and Chin designed a comprehensive study involving three prominent chatbot models: ChatGPT, Google Bard, and Llama 2. The researchers created a series of 25 scenarios, each targeting specific health needs such as low physical activity, diet and nutrition concerns, mental health challenges, cancer screening and diagnosis, sexually transmitted diseases, and substance dependency.

The scenarios were carefully crafted to represent the five distinct motivational stages of behavior change:

  1. Resistance to change and lacking awareness of problem behavior
  2. Increased awareness of problem behavior but ambivalence about making changes
  3. Intention to take action with small steps toward change
  4. Initiation of behavior change with a commitment to maintain it
  5. Successfully sustaining the behavior change for six months with a commitment to maintain it

By evaluating the chatbots' responses to each scenario across the different motivational stages, the researchers aimed to determine the strengths and weaknesses of large language models in supporting users throughout their behavior change journey.

What Did the Study Find?

The study revealed both promising results and significant limitations in the ability of large language models to support behavior change. Bak and Chin found that chatbots can effectively identify motivational states and provide relevant information when users have established goals and a strong commitment to take action. This suggests that individuals who are already in the later stages of behavior change, such as those who have initiated changes or have been successfully maintaining them for some time, can benefit from the guidance and support provided by these AI-powered tools.

However, the researchers also discovered that large language models struggle to recognize the initial stages of motivation, particularly when users are resistant to change or ambivalent about making modifications to their behavior. In these cases, the chatbots failed to provide adequate information to help users evaluate their problem behavior and its consequences, as well as assess how their environment influenced their actions. For example, when faced with a user who is resistant to increasing their physical activity, the chatbots often defaulted to providing information about joining a gym rather than engaging the user emotionally by highlighting the negative consequences of a sedentary lifestyle.

Furthermore, the study revealed that large language models did not offer sufficient guidance on using reward systems to maintain motivation or reducing environmental stimuli that might increase the risk of relapse, even for users who had already taken steps to change their behavior. Bak noted, “The large language model-based chatbots provide resources on getting external help, such as social support. They're lacking information on how to control the environment to eliminate a stimulus that reinforces problem behavior.”

Implications and Future Research

The findings of this study underscore the current limitations of large language models in understanding motivational states from natural language conversations. Chin explained that these models are trained to represent the relevance of a user's language but struggle to differentiate between a user who is considering change but still hesitant and one who has a firm intention to take action. Additionally, the semantic similarity in user queries across different motivational stages makes it challenging for the models to accurately identify the user's readiness for change based solely on their language.

Despite these limitations, the researchers believe that large language model chatbots have the potential to provide valuable support when users have strong motivations and are ready to take action. To fully realize this potential, future studies will focus on fine-tuning these models to better understand users' motivational states by leveraging linguistic cues, information search patterns, and social determinants of health. By equipping the models with more specific knowledge and improving their ability to recognize and respond to different stages of motivation, researchers hope to enhance the effectiveness of these AI-powered tools in promoting healthy behavior change.

AI Chatbots in Behavior Change

The study from the University of Illinois Urbana-Champaign's ACTION Lab has shed light on the potential and limitations of large language model chatbots in promoting healthy behavior change. While these AI-powered tools have shown promise in supporting users who are committed to making positive changes, they still struggle to effectively recognize and respond to the initial stages of motivation, such as resistance and ambivalence. As researchers continue to refine and improve these models, it is hoped that they will become increasingly effective in guiding users through all stages of the behavior change process, ultimately contributing to better health outcomes for individuals and communities alike.

Unveiling the Control Panel: Key Parameters Shaping LLM Outputs

Large Language Models (LLMs) have emerged as a transformative force, significantly impacting industries like healthcare, finance, and legal services. For example, a recent study by McKinsey found that several businesses in the finance sector are leveraging LLMs to automate tasks and generate financial reports.

Moreover, LLMs can process and generate human-quality text formats, seamlessly translate languages, and deliver informative answers to complex queries, even in niche scientific domains.

This blog discusses the core principles of LLMs and explores how fine-tuning these models can unlock their true potential, driving innovation and efficiency.

How LLMs Work: Predicting the Next Word in Sequence

LLMs are data-driven powerhouses. They are trained on massive amounts of text data, encompassing books, articles, code, and social media conversations. This training data exposes the LLM to the intricate patterns and nuances of human language.

At the heart of these LLMs lies a sophisticated neural network architecture called a transformer. Consider the transformer as a complex web of connections that analyzes the relationships between words within a sentence. This allows the LLM to understand each word's context and predict the most likely word to follow in the sequence.

Consider it like this: you provide the LLM with a sentence like “The cat sat on the…” Based on its training data, the LLM recognizes the context (“The cat sat on the“) and predicts the most probable word to follow, such as “mat.” This process of sequential prediction allows the LLM to generate entire sentences, paragraphs, and even creative text formats.

Core LLM Parameters: Fine-Tuning the LLM Output

Now that we understand the basic workings of LLMs, let's explore the control panel, which contains the parameters that fine-tune their creative output. By adjusting these parameters, you can steer the LLM toward generating text that aligns with your requirements.

1. Temperature

Imagine temperature as a dial controlling the randomness of the LLM's output. A high-temperature setting injects a dose of creativity, encouraging the LLM to explore less probable but potentially more interesting word choices. This can lead to surprising and unique outputs but also increases the risk of nonsensical or irrelevant text.

Conversely, a low-temperature setting keeps the LLM focused on the most likely words, resulting in more predictable but potentially robotic outputs. The key is finding a balance between creativity and coherence for your specific needs.

2. Top-k

Top-k sampling acts as a filter, restricting the LLM from choosing the next word from the entire universe of possibilities. Instead, it limits the options to the top k most probable words based on the preceding context. This approach helps the LLM generate more focused and coherent text by steering it away from completely irrelevant word choices.

For example, if you're instructing the LLM to write a poem, using top-k sampling with a low k value, e.g., k=3, would nudge the LLM towards words commonly associated with poetry, like “love,” “heart,” or “dream,” rather than straying towards unrelated terms like “calculator” or “economics.”

3. Top-p

Top-p sampling takes a slightly different approach. Instead of restricting the options to a fixed number of words, it sets a cumulative probability threshold. The LLM then only considers words within this probability threshold, ensuring a balance between diversity and relevance.

Let's say you want the LLM to write a blog post about artificial intelligence (AI). Top-p sampling allows you to set a threshold that captures the most likely words related to AI, such as “machine learning” and “algorithms”. However, it also allows for exploring less probable but potentially insightful terms like “ethics” and “limitations“.

4. Token Limit

Imagine a token as a single word or punctuation mark. The token limit parameter allows you to control the total number of tokens the LLM generates. This is a crucial tool for ensuring your LLM-crafted content adheres to specific word count requirements. For instance, if you need a 500-word product description, you can set the token limit accordingly.

5. Stop Sequences

Stop sequences are like magic words for the LLM. These predefined phrases or characters signal the LLM to halt text generation. This is particularly useful for preventing the LLM from getting stuck in endless loops or going off tangents.

For example, you could set a stop sequence as “END” to instruct the LLM to terminate the text generation once it encounters that phrase.

6. Block Abusive Words

The “block abusive words” parameter is a critical safeguard, preventing LLMs from generating offensive or inappropriate language. This is essential for maintaining brand safety across various businesses, especially those that rely heavily on public communication, such as marketing and advertising agencies, customer services, etc..

Furthermore, blocking abusive words steers the LLM towards generating inclusive and responsible content, a growing priority for many businesses today.

By understanding and experimenting with these controls, businesses across various sectors can leverage LLMs to craft high-quality, targeted content that resonates with their audience.

Beyond the Basics: Exploring Additional LLM Parameters

While the parameters discussed above provide a solid foundation for controlling LLM outputs, there are additional parameters to fine-tune models for high relevance. Here are a few examples:

  • Frequency Penalty: This parameter discourages the LLM from repeating the same word or phrase too frequently, promoting a more natural and varied writing style.
  • Presence Penalty: It discourages the LLM from using words or phrases already present in the prompt, encouraging it to generate more original content.
  • No Repeat N-Gram: This setting restricts the LLM from generating sequences of words (n-grams) already appearing within a specific window in the generated text. It helps prevent repetitive patterns and promotes a smoother flow.
  • Top-k Filtering: This advanced technique combines top-k sampling and nucleus sampling (top-p). It allows you to restrict the number of candidate words and set a minimum probability threshold within those options. This provides even finer control over the LLM's creative direction.

Experimenting and finding the right combination of settings is key to unlocking the full potential of LLMs for your specific needs.

LLMs are powerful tools, but their true potential can be unlocked by fine-tuning core parameters like temperature, top-k, and top-p. By adjusting these LLM parameters, you can transform your models into versatile business assistants capable of generating various content formats tailored to specific needs.

To learn more about how LLMs can empower your business, visit Unite.ai.

9 out of 10 UK Business Leaders Suffer From Tech Anxiety That Disrupts Their Sleep, BT Study Finds

While rapid digital transformations can result in many business benefits, a new study has revealed that they also take a toll on mental health. Nearly nine out of 10 U.K. business leaders say they suffer from tech-related stress that’s severe enough to disrupt their sleep.

BT commissioned a survey of 2,000 business decision makers to find out how the pace of digital change is impacting their mental health. It revealed that AI is the top cause of issues, with three in four respondents saying it has made them feel stressed or anxious in the past year.

These mental health implications also have an economic impact at both business and national levels. Estimates suggest that “tech paralysis” — where companies delay tech investment due to the stress it might bring — could cost the U.K. economy £11.79 billion by 2030. BT’s research estimates that 104,000 British businesses may opt out of digitisation this year due to the pain of implementation, transformation and upskilling.

Smriti Joshi, lead psychologist at AI-driven mental health platform Wysa and member of the British Psychological Society, told TechRepublic the results of the study were “alarming but not surprising given the long-standing mental health implications of rapid digitization.”

“The pandemic led to an unprecedented acceleration of digital transformation, forcing businesses to adapt quickly to survive and compete, often without adequate support,” she added in an email.

“The increasing complexity of technology and the constant pressure to stay ahead in a competitive market create a perfect storm of stress and anxiety. Fields like AI and machine learning, along with heightened cybersecurity threats, only intensify these feelings, leading to sleepless nights for professionals and business owners.”

Why AI is the biggest concern for UK business leaders

When it comes to AI, the biggest concern business leaders have is data privacy and security, which was cited by 34% of respondents. The rapid spread of AI applications in businesses over the last two years has opened them up to new security risks like prompt injections and data poisoning attacks. Recognising this, in November 2023, the U.K.’s National Cyber Security Centre, along with the U.S.’s Cybersecurity and Infrastructure Security Agency and international agencies from 16 other countries, released guidelines on the security of AI systems.

Furthermore, 29% of respondents to the BT survey are concerned about AI quality and reliability. Indeed, the 2024 AI Index Report from Stanford University found that “using AI without proper oversight can lead to diminished performance.” For example, there are widespread reports that hallucinations are prevalent in large language models that perform legal tasks.

According to BT, one in five business executives views AI as an existential threat to their business. The AI Index report concluded that AI enables workers to complete tasks more quickly and improves the quality of their output, indicating the business benefits of the technology. However, there is a chance widespread productivity boosts could work the other way, as a recent study from IT support company Auxilion found that 49% of U.K. IT decision makers fear AI will make their companies’ services redundant in three to five years.

SEE: 81% of IT Teams Will Grow Despite AI Adoption, according to a Gartner report

Cyber security, tech transformation and digital skills are all sources of stress

Cyber security

The BT survey found that 32% of business leaders cite cyber security as a source of tech anxiety. This is not surprising, considering an estimated 22% of U.K. businesses experienced a cyber attack in 2023 and the number is anticipated to rise due to the growing accessibility of generative AI.

Cyber security is seen as one of the biggest technological threats to businesses this year. A recent report from Microsoft and Goldsmiths, University of London found that just 13% of U.K. businesses are resilient to cyberattacks, with 48% deemed vulnerable and the remaining 39% facing high risk.

The implications of a successful cyber attack are also widespread, impacting a company financially and reputationally. One study also found that successful ransomware attacks can lead to heart attacks, strokes, PTSD and other physical and mental health issues.

SEE: How Can Businesses Defend Themselves Against Common Cyberthreats?

Tech transformation

A quarter of the company directors and executives surveyed by BT said they worry about executing a successful tech transformation. Such fears are valid; research from McKinsey has ruled that digital transformations only tend to have about a 30% success rate. That being said, 62% of BT’s respondents do recognise that such transformation is critical to the survival of their company, but they remain concerned about the pace of tech evolution.

Keeping up with the latest workplace technologies is a source of stress in the lives of 88% of respondents, while 59% say tech is advancing so quickly they worry about the future of their business. The two sectors that are most concerned about the impact of digital transformation are HR and financial services. The Bank of England recently warned that wide adoption of AI in the financial sector “could pose system-wide financial stability risks”, including cyber threats and market skewing.

SEE: 4 Ways to Boost Digital Transformation Across the UK

Digital skills

The ongoing digital skills shortage in the U.K. was cited by 24% of business leaders as stressful in the BT study. Research by Amazon Web Services in 2023 revealed that more than two thirds of U.K. businesses found it challenging to hire the digital workers they need, and 45% said this was due to a shortage of qualified applicants.

Expert advice for businesses with leaders experiencing tech anxiety

Joshi shared the following advice to businesses where leaders are experiencing tech-related stress:

  • Provide opportunities for business leaders to upskill and train in the necessary tech and digital skills to help them feel more confident in handling new technologies.
  • Create support systems where leaders can share experiences and strategies that can provide emotional relief and practical advice.
  • Prioritize mental health initiatives for both leaders and employees with programs specifically tailored to address tech-related stress for all staff members.
  • Foster a culture that values mental health, upskilling, regular breaks and work-life balance.
  • Leaders should delegate responsibilities and seek support from expert organisations or trusted partners during phases requiring tech transformations. This helps in distributing the workload but also brings in expertise that can ease transitions and reduce anxiety.

Deepfakes and LLMs: Free will neural network for AI safety research

AI-powered facial recognition, unmasking deepfakes by analyzing facial features in a sea of digital faces

Currently, there is nothing any AI system can do, that it is prompted to do, that it would not do, pre-guardrail or post-guardrail.

This is a major problem for a dynamic host of a substantial amount of collective human intelligence. Organisms can do numerous things that they do not do. Under certain circumstances, they may do things that they would not normally do. However, there are cases where organisms will never do certain things they can do, in the face of any threat or likely outcome.

Organisms, where possible, are in control of objects. However, the physical world is subject to laws that limit some controls. There are also consequences that deter the will for control. Digital is different from physical. Although it bears a representation of the physical and can have similar effects on the human mind, digital is far controllable, available and consequences are not often comparable—in many regards.

The situation with AI is that it is not just base or ground digital, where information on human intelligence is available and human control has to do all the sorting or seek out useful information—which requires skill, at times. AI has done preliminary sorting, sometimes to such a high tier that what it takes for users to get certain things done is less effort—or say, less control.

AI is the only non-organism that has the highest dynamism of anything in existence, doing much with what is available to it—in digital memory. Books, paintings and others cannot. However, for its ability to have some control over what it can output—or not, it remained static at object-level commands.

Already, several AI platforms have placed guardrails. Yet, whatever is told to those AIs to do within the possibility of those guardrails they do. They do not somehow discover what not to do on the fly, except users report then additional guardrails are placed. Sometimes, they are too adherent to guardrails or stretch further—preventing outputs of benign range.

This could be a direction in which some AI safety research could go. How does AI develop safe intentionality? However, this too is another cautionary mission, to prevent intentionality from becoming unsafe.

Where can efforts go, for AI to get smarter at deciding or calculating its own control gradients, especially for what it is not supposed to do? Also, how can this be possible for AIs that should operate in the common areas of the internet or digital usage? How does a crawl-AI get around to access control information of AIs in use and sources of AI-generated outputs, to ascertain whether they are from controlled AIs or not—to allow or alert?

Although there are larger risks of AI, deepfakes can be used as the benchmark to determine AI control, for extents and outputs of images, videos, audio, and texts. Among humans, ideologies may also be described as approaches toward order, for adherents. Deepfakes, however, are disorder. They are not like imagination, dreams, daydreams or fiction, they are infusions into a dominant sphere [digital] with what is inaccurate, for the wants of different minds. Digital is already loose. Deepfake supercharges it exponentially, making LLMs bear risks.

Large language models have tokens, represented as vectors that get to work with the 0s and 1s of the bit—a fundamental unit of data. Transistors have their terminals, with signals for current flow or halt. How might control be possible from a parallel of 0s as NO, or OFF as NO, in a way that from the training or processing, it is possible to have LLMs decide that it cannot do something bad, or it can do something innocuous that is grounded in reality, away from too broad guardrail?

The US Department of Homeland Security recently announced a new Artificial Intelligence Safety and Security Board to Advance AI’s Responsible Development and Deployment, to “develop multifaceted, cross-sector approaches to pressing issues surrounding the benefits and risks of this emerging technology. It will convene for the first time in Early May with subsequent meetings planned quarterly. At the outset, the Board will: 1) provide the Secretary and the critical infrastructure community with actionable recommendations to ensure the safe adoption of AI technology in the essential services Americans depend upon every day, and 2) create a forum for DHS, the critical infrastructure community, and AI leaders to share information on the security risks presented by AI.”

The UK Safety Institute has made pre-/post deployment testing, among others, a path to ensuring safety for AI models. What may become decisive in whether AI stays safe or not, against causing harm, is a free will, control or intentionality measure.

In human society, a major reason there is order is because of affect, not just because of laws, which are sometimes a result of that. Simply, things that people know or experience that have an emotional or feelings outcome, select for what to reject or deter—or say, promote. The nearness to the mean for the human mind is vital for how a place in society is guaranteed or not.

Conceptually, there are key divisions of the human mind. These are areas of functions, like memory, emotions, feelings, and modulation of internal senses. These divisions have several subdivisions. There are features that qualify these divisions. This means features that grade how they function. They include attention, awareness [or less than attention], self or subjectivity and intent.

All functions of mind use some or all the qualifiers to vary the extents to which functions are applied. The qualifiers are sometimes more prominent for exteroception, or senses for the external world—vision, auditory and others. The qualifiers are helpful in selection, making it possible to deal with streams of sensory inputs, simultaneously

While they are all vital, intent or control is highly rated for social and occupational functioning. For example, if subjectivity is lost in certain situations, risks abound. However, intent can be quickly momentous and destructive if it is lost. People who lose certain aspects of intent are easily spotted and rid of access to central society in one way or another. Intent that is internally driven, so that in the collective space, it is possible to follow rules and regulations.

This is what AI safety may look like ideally if it can be achieved. The human mind in human society presents a model, by which, largely—order is established. For AI and its encroachment into the hierarchy of human productivity—because of the sprawl of digital—safety could bear an ability to have an organism with similar intent, against anything goes like deepfakes, that are already responsible for hurt.

Research for AI safety may explore the architecture of high-dimensional vectors for how part-intent may emerge and how it can be tuned toward safety. Transistor architecture may also be explored, for signal states that may be correlated with moment-to-moment intent, for certain prompts or use cases.

The human mind is another option, especially action potentials and neurotransmitters, with how they, conceptually, generate and qualify experiences. It is also possible to model AI safety around these, with, say, a free will neural network or machine learning intentionality, for new training architecture. For UK and US AI Safety Institutes, a separate project on AI Intent may be prioritized and explored, for some hopeful pathway to progress, within two years.

OpenAI created a team to control ‘superintelligent’ AI — then let it wither, source says

OpenAI’s Superalignment team, responsible for developing ways to govern and steer “superintelligent” AI systems, was promised 20% of the company’s compute resources, according to a person from that team. But requests for a fraction of that compute were often denied, blocking the team from doing their work. That issue, among others, pushed several team members […]

© 2024 TechCrunch. All rights reserved. For personal use only.

Indian Companies are Good at Copying Ideas Generated Elsewhere

Indian Companies are Good at Copying Ideas Generated Elsewhere

Infosys co-founder Narayana Murthy, who has been quite vocal about the need for the youth of the country to work 70-hours a week, recently said that Indians are good at applying ideas generated elsewhere for the betterment of the nation. He also added that it would take time for the country to invent new things.

He may be right. The most recent Ola’s Krutrim model is just a replica of OpenAI’s model, simply moulded for Indian use cases. This is similar to Flipkart copying Amazon, Ola copying Uber, and Zomato and Swiggy copying DoorDash.

Meanwhile, there are other quick commerce companies such as Zepto and Dunzo, which are completely new concepts and are thriving in India.

Recently, Kunal Shah, the founder of CRED, posted on X saying that early stage startups should be easy to iterate and late stage startups should be hard to distract. This also highlights the mentality of Indian startups that are not iterating and not innovative as well. “Startups should be easy to unlearn,” replied Vivian.

The sentiment that India has been lagging when it comes to building technology and leveraging AI has grown stronger. “The reality of India is that at this point of time, by and large, we have upgraded ourselves to the orbit of applying ideas and concepts that are invented outside India and do some innovation and become experts,” Murthy said, while also adding that it is the first step towards catching up with the West.

Murthy is positive that India will be able to invent new things, but it would take time, and the youth has to be enthusiastic about it. “Because my own belief is that a youngster of today is at least 10-20 times smarter than what I was at their age.”

A lot practical though

Though this may sound like a negative take on India’s innovation, applying global ideas locally is a smart and practical approach. “It’s a strategy that accelerates innovation and progress, leveraging collective human knowledge to solve problems faster,” said a user on X.

One of the reasons that India’s AI is a little bleak is that there is a lack of investment when compared to the West, along with a lack of industry and academia partnership. If this happens, it would create a pathway for more research and development within the country, which still seems to be lacking.

A similar conversation recently occurred when experts from the Indian tech community said that there was nothing foundational being built out of India. Most of the research was just copy and paste from the West.

“Who has challenged the original algorithm? While Transformers are a great piece, they have flaws in terms of compute and carbon,” said Nikhil Malhotra, global head-Makers Lab, Tech Mahindra, reiterating that most of the research in India is done on fine-tuned models.

“Training something from scratch and turning it into the 10th best foundation model that no one will use in production is the wealth only a few companies with deep pockets can afford… even spending millions on failed training runs,” said Pratik Desai, adding that India has so many unique use cases that don’t need foundational model research and using models such as Phi, Orca, or Llama is enough.

“India has never led any fundamental research, but we have a golden opportunity as AI can be a levelling field,” added Desai. “However, this requires a fundamental shift from coaching and academia to a change in mindset from parents, and founders to investors.”

On the other hand, “If we don’t work on our own AI infrastructure, in the next 5-10 years, like we import oil, we will have to import AI,” said Gaurav Aggarwal, who is currently leading an AI initiative at Jio. He added that it pains him to see that India is not producing AI experts, just “slightly glorified engineers” who have no clue about what they are building.

Similar thoughts were recently shared by Dharmesh BA, founder of a stealth startup. He said that though a lot of people are building AI, it is most likely a wrapper of GPT. “We live in an era where it’s easy to build but difficult to figure out what to build,” he added.

What is the problem?

The possible reasons behind India not inventing new things, as pointed out by several users on X, is the lack of risk-taking attitude, and our over-reliance on the traditional system of education. Meanwhile, some say that there are merits in being a second-mover, but India definitely needs to up its game.

There have been several theories floating around the internet claiming that India has arrived late to the AI party. Even with the alleged late arrival, most of the AI development in India is focused around building AI use cases by adopting AI models developed by the western countries, rather than the core technology.

Sourav Das, researcher at IIIT Kalyani, had said the same thing earlier. “How many of them have made an algorithm, theory, or model from scratch,” he questioned, saying that everything is available on the internet and the researchers are just exploiting the resources.

“There is no invention in India, just reusing the things that are already there,” he said, adding that all the fine-tuning is just getting “honourable mentions”.

A lot of the current AI development is being driven by young developers building AI models on top of existing ones such as LLaMA and Mistral, but nothing concrete has come up yet.

Though there are initiatives such as Ola’s Krutrim, Sarvam AI, Tech Mahindra’s Project Indus, and BharatGPT that are focused on building models from scratch, a lot of work still needs to be done.

The post Indian Companies are Good at Copying Ideas Generated Elsewhere appeared first on AIM.

OpenAI Brings Generative AI Search Experience to ChatGPT

Soon, ChatGPT (Powered by GPT-4o) will Replace Your ‘Senior Employees’

Amid scepticism, OpenAI has finally released the generative AI search experience on ChatGPT, powered by GPT-4o. This development comes just days after the company unveiled GPT-4o at its latest Spring Update event.

AIM recently asked a question on ChatGPT about ‘India’s AI ecosystem’, and ChatGPT cited AIM’s article in its response.

A few days ago OpenAI hired Shivakumar Venkataraman, a Google veteran, as its new vice president. Venkataraman’s extensive experience in search advertising at Google makes him a valuable asset for OpenAI as it plans to build ‘Google Search Alternative’.

OpenAI recently partnered with Reddit as well to bring enhanced Reddit content to ChatGPT and new products, helping users discover and engage with Reddit communities.

Moreover, in a recent podcast with Lex Fridman, OpenAI chief Sam Altman said that, “The intersection of LLMs plus search, I don’t think anyone has cracked the code on yet. I would love to go do that. I think that would be cool.”

He also said that OpenAI does not want to build another Google Search. “I find that (Google Search) boring. I mean, if the question is if we can build a better search engine than Google or whatever, then sure, we should.

“Google shows you like 10 blue links, like 13 ads, and then 10 blue links, and that’s like one way to find information. But the thing that’s exciting to me is not that we can go build a better copy of Google Search, but that maybe there’s just a much better way to help people find, act on, and synthesise information,” said Altman.

Meanwhile, Google recently introduced ‘AI Overviews’ at Google I/O 2024. This feature generates summaries for the user’s queries.

“Sometimes you want a quick answer, but you don’t have time to piece together all the information you need. Search will do the work for you with AI Overviews,” said Google Search VP Liz Reid.

Google Search is powered by the Gemini model customised for Google Search. It combines Gemini’s advanced capabilities — including multi-step reasoning, planning, and multimodality — with best-in-class Search systems.

Perplexity is also upping its game. Against the backdrop of these developments, Perplexity onboarded three industry leaders as new advisors to boost search, mobile and distribution: Emil Michael (ex-Uber), Rich Miner (Android co-founder), and Mikhail Parakhin (ex-Bing CEO).

“Look, startups have to be aggressive in terms of competing against incumbents who already have billions of users (Google Search), and OpenAI has 100 million users. We don’t have that today,” said Arvind Srinivas, the co-founder of Perplexity, accepting the company’s fate amid Google I/O release and the plausibility of OpenAI unleashing next-generation, generative AI search experience in the coming months.

The post OpenAI Brings Generative AI Search Experience to ChatGPT appeared first on AIM.

Mastering Python: 7 Strategies for Writing Clear, Organized, and Efficient Code

Mastering Python: 7 Strategies for Writing Clear, Organized, and Efficient CodeImage by Author

Have you ever compared your Python code to that of experienced developers and felt a stark difference? Despite learning Python from online resources, there's often a gap between beginner and expert-level code. That's because experienced developers adhere to best practices established by the community. These practices are often overlooked in online tutorials but are crucial for large-scale applications. In this article, I will be sharing 7 tips that I use in my production code for clearer and more organized code.

1. Type Hinting and Annotations

Python is a dynamically typed programming language, where the variable types are inferred at runtime. While it allows for flexibility, it significantly reduces code readability and understanding in a collaborative setting.

Python provides support for type hinting in function declarations that serve as an annotation of the function argument types and the return types. Even though Python doesn't enforce these types during runtime, it's still helpful because it makes your code easier to understand for other people (and yourself!).

Starting with a basic example, here is a simple function declaration with type hinting:

def sum(a: int, b: int) -> int:  	return a + b  

Here, even though the function is fairly self-explanatory, we see that the function parameters and return values are denoted as int type. The function body could be a single line, as here, or several hundred lines. Yet, we can understand the pre-conditions and return types just by looking at the function declaration.

It's important to know that these annotations are just for clarity and guidance; they don't enforce the types during execution. So, even if you pass in values of different types, like strings instead of integers, the function will still run. But be cautious: if you don't provide the expected types, it might lead to unexpected behavior or errors during runtime. For instance, in the provided example, the function sum() expects two integers as arguments. But if you try to add a string and an integer, Python will throw a runtime error. Why? Because it doesn't know how to add a string and an integer together! It's like trying to add apples and oranges – it just doesn't make sense. However, if both arguments are strings, it will concatenate them without any issue.

Here's the clarified version with test cases:

print(sum(2,5)) # 7  # print(sum('hello', 2)) # TypeError: can only concatenate str (not "int") to str  # print(sum(3,'world')) # TypeError: unsupported operand type(s) for +: 'int' and 'str'  print(sum('hello', 'world')) # helloworld   

Typing Library for Advanced Type Hinting

For advanced annotations, Python includes the typing standard library. Let us see its use in a more interesting approach.

from typing import Union, Tuple, List  import numpy as np    def sum(variable: Union[np.ndarray, List]) -> float:  	total = 0  	# function body to calculate the sum of values in iterable  	return total  

Here, we alter the same summation function that now accepts a numpy array or list iterable. It computes and returns their sum as a floating-point value. We utilize the Union annotation from the typing library to specify the possible types that the variable parameter can accept.

Let us further change the function declaration to show that the list members should also be of type float.

def sum(variable: Union[np.ndarray, List[float]]) -> float:  	total = 0  	# function body to calculate the sum of values in iterable  	return total  

These are just some beginner examples to help understand type hinting in Python. As projects grow, and codebases become more modular, type annotations significantly enhance readability and maintainability. The typing library offers a rich set of features including Optional, various iterables, Generics, and support for custom-defined types, empowering developers to express complex data structures and relationships with precision and clarity.

2. Writing Defensive Functions and Input Validation

Even though type-hinting seems helpful, it is still error-prone as the annotations are not enforced. These are just extra documentation for the developers but the function will still be executed if different argument types are used. Therefore, there is a need to enforce the pre-conditions for a function and code in a defensive manner. Hence, we manually check these types and raise appropriate errors if the conditions are violated.

The below function shows how interest is calculated using the input parameters.

def calculate_interest(principal, rate, years):  	return principal * rate * years  

It is a simple operation, yet will this function work for every possible solution? No, not for the edge cases where the invalid values are passed as input. We need to ensure that the input values are bound within a valid range for the function to execute correctly. In essence, some pre-conditions must be satisfied for the function implementation to be correct.

We do this as follows:

from typing import Union    def calculate_interest(  	principal: Union[int, float],  	rate: float,  	years: int  ) -> Union[int, float]:  	if not isinstance(principal, (int, float)):      	    raise TypeError("Principal must be an integer or float")  	if not isinstance(rate, float):      	    raise TypeError("Rate must be a float")  	if not isinstance(years, int):      	    raise TypeError("Years must be an integer")  	if principal <= 0:      	    raise ValueError("Principal must be positive")  	if rate <= 0:      	    raise ValueError("Rate must be positive")  	if years <= 0:      	    raise ValueError("Years must be positive")    	interest = principal * rate * years  	return interest    

Note, that we use conditional statements for input validation. Python also has assertion statements that are sometimes used for this purpose. However, assertions for input validation are not a best practice as they can disabled easily and will lead to unexpected behaviour in production. The use of explicit Python conditional expressions is preferable for input validation and enforcing pre-conditions, post-conditions, and code invariants.

3. Lazy Loading with Generators and Yield Statements

Consider a scenario, where you are provided with a large dataset of documents. You need to process the documents and perform certain operations on each document. However, due to the large size, you can not load all the documents in memory and pre-process them simultaneously.

A possible solution is to only load a document in memory when required and process only a single document at a time, also called lazy loading. Even though we know what documents we will need, we do not load a resource until it is required. There is no need to retain the bulk of documents in memory when they are not in active use in our code. This is exactly how generators and yield statements approach the problem.

Generators allow lazy-loading that improves the memory efficiency of Python code execution. Values are generated on the fly as needed, reducing memory footprint and increasing execution speed.

import os    def load_documents(directory):  	for document_path in os.listdir(directory):      	    with open(document_path) as _file:          	        yield _file    def preprocess_document(document):  	filtered_document = None  	# preprocessing code for the document stored in filtered_document  	return filtered_document    directory = "docs/"  for doc in load_documents(directory):  	preprocess_document(doc)  

In the above function, the load_documents function uses the yield keyword. The method returns an object of type <class generator>. When we iterate over this object, it continues execution from where the last yield statement is. Therefore, a single document is loaded and processed, improving Python code efficiency.

4. Preventing Memory Leaks using Context Managers

For any language, efficient use of resources is of primary importance. We only load something in memory when required as explained above through the use of generators. However, it is equally important to close a resource when it is no longer needed by our program. We need to prevent memory leaks and perform proper resource teardown to save memory.

Context managers simplify the common use case of resource setup and teardown. It is important to release resources when they are not required anymore, even in case of exceptions and failures. Context managers reduce the risk of memory leaks using automatic cleanup while keeping the code concise and readable.

Resources can have multiple variants such as database connections, locks, threads, network connections, memory access, and file handles. Let's focus on the simplest case: file handles. The challenge here is ensuring that each file opened is closed exactly once. Failure to close a file can lead to memory leaks, while attempting to close a file handle twice results in runtime errors. To address this, file handles should be wrapped inside a try-except-finally block. This ensures that the file is closed properly, regardless of whether an error occurs during execution. Here's how the implementation might look:

file_path = "example.txt"  file = None    try:  	file = open(file_path, 'r')    	contents = file.read()  	print("File contents:", contents)    finally:  	if file is not None:      	file.close()  

However, Python provides a more elegant solution using context managers, which handle resource management automatically. Here's how we can simplify the above code using the file context manager:

file_path = "example.txt"  with open(file_path, 'r') as file:  	contents = file.read()  	print("File contents:", contents)  

In this version, we don't need to explicitly close the file. The context manager takes care of it, preventing potential memory leaks.

​​While Python offers built-in context managers for file handling, we can also create our own for custom classes and functions. For class-based implementation, we define __enter__ and __exit__ dunder methods. Here's a basic example:

class CustomContextManger:  	def __enter__(self):      	    # Code to create instance of resource      	    return self    	def __exit__(self, exc_type, exc_value, traceback):      	    # Teardown code to close resource       	    return None  

Now, we can use this custom context manager within ‘with’ blocks:

with CustomContextManger() as _cm:  	print("Custom Context Manager Resource can be accessed here")

This approach maintains the clean and concise syntax of context managers while allowing us to handle resources as needed.

5. Separation of Concern with Decorators

We often see multiple functions with the same logic implemented explicitly. This is a prevalent code smell, and excessive code duplication makes the code difficult to maintain and unscalable. Decorators are used to encapsulate similar functionality in a single place. When a similar functionality is to be used by multiple other functions, we can reduce code duplication by implementing common functionality within a decorator. It follows Aspect-Oriented Programming (AOP) and the Single Responsibility principle.

Decorators are heavily used in the Python web frameworks such as Django, Flask and FastAPI. Let me explain the effectiveness of decorators by using it as a middleware in Python for logging. In a production setting, we need to know how long it takes to service a request. It is a common use case and will be shared across all endpoints. So, let us implement a simple decorator-based middleware that will log the time taken to service a request.

The dummy function below is used to service a user request.

def service_request():  	# Function body representing complex computation  	return True  

Now, we need to log the time it takes for this function to execute. One way is to add logging within this function as follows:

import time    def service_request():  	start_time = time.time()  	# Function body representing complex computation  	print(f"Time Taken: {time.time() - start_time}s")  	return True  

While this approach works, it leads to code duplication. If we add more routes, we'd have to repeat the logging code in each function. This increases code duplication as this shared logging functionality needs to be added to each implementation. We remove this with the use of decorators.

The logging middleware will be implemented as below:

def request_logger(func):  	def wrapper(*args, **kwargs):      	    start_time = time.time()      	    res = func()      	    print(f"Time Taken: {time.time() - start_time}s")      	    return res  	return wrapper  

In this implementation, the outer function is the decorator, which accepts a function as input. The inner function implements the logging functionality, and the input function is called within the wrapper.

Now, we simply decorate the original service_request function with our request_logger decorator:

@request_logger  def service_request():  	# Function body representing complex computation  	return True  

Using the @ symbol passes the service_request function to the request_logger decorator. It logs the time taken and calls the original function without modifying its code. This separation of concerns allows us to easily add logging to other service methods in a similar manner like this:

@request_logger  def service_request():  	# Function body representing complex computation  	return True    @request_logger  def service_another_request():  	# Function body  	return True  

6. Match Case Statements

Match statements were introduced in Python3.10 so it is a fairly new addition to the Python syntax. It allows for simpler and more readable pattern matching, preventing excessive boilerplate and branching in the typical if-elif-else statements.

For pattern-matching, match case statements are the more natural way of writing it as they do not necessarily need to return boolean values as in conditional statements. The following example from the Python documentation shows how match case statements offer flexibility over conditional statements.

def make_point_3d(pt):  	match pt:      	    case (x, y):          		return Point3d(x, y, 0)      	    case (x, y, z):          		return Point3d(x, y, z)      	    case Point2d(x, y):          		return Point3d(x, y, 0)      	    case Point3d(_, _, _):          		return pt      	    case _:          		raise TypeError("not a point we support")  

As per the documentation, without pattern matching, this function’s implementation would require several isinstance() checks, one or two len() calls, and a more convoluted control flow. Under the hood, the match example and the traditional Python version translate into similar code. However, with familiarity with pattern matching, the match case approach is likely to be preferred as it provides a clearer and more natural syntax.

Overall, match case statements offer an improved alternative for pattern matching, which will likely become more prevalent in newer codebases.

7. External Configuration Files

In production, the majority of our code relies on external configuration parameters like API keys, passwords, and various settings. Hardcoding these values directly into the code is considered poor practice for scalability and security reasons. Instead, it's crucial to keep configurations separate from the code itself. We commonly achieve this using configuration files such as JSON or YAML to store these parameters, ensuring they're easily accessible to the code without being directly embedded within it.

An everyday use case is database connections that have multiple connection parameters. We can keep these parameters in a separate YAML file.

# config.yaml  database:    host: localhost    port: 5432    username: myuser    password: mypassword    dbname: mydatabase  

To handle this configuration, we define a class called DatabaseConfig:

class DatabaseConfig:  	def __init__(self, host, port, username, password, dbname):      	    self.host = host      	    self.port = port      	    self.username = username      	    self.password = password      	    self.dbname = dbname    	@classmethod  	def from_dict(cls, config_dict):      	    return cls(**config_dict)  

Here, the from_dict class method serves as a builder method for the DatabaseConfig class, allowing us to create a database configuration instance from a dictionary.

In our main code, we can employ parameter hydration and the builder method to create a database configuration. By reading the external YAML file, we extract the database dictionary and use it to instantiate the config class:

import yaml    def load_config(filename):  	with open(filename, "r") as file:      	return yaml.safe_load(file)    config = load_config("config.yaml")  db_config = DatabaseConfig.from_dict(config["database"])  

This approach eliminates the need for hardcoding database configuration parameters directly into the code. It also offers an improvement over using argument parsers, as we no longer need to pass multiple parameters every time we run our code. Moreover, by accessing the config file path through an argument parser, we can ensure that the code remains flexible and doesn't rely on hardcoded paths. This method facilitates easier management of configuration parameters, which can be modified at any time without requiring changes to the codebase.

Ending Notes

In this article, we discussed some of the best practices used in the industry for production-ready code. These are common industry practices that alleviate multiple problems one can face in real-life situations.

Nonetheless, it is worth noting that despite all such best practices, documentation, docstrings, and test-driven development are by far the most essential practices. It is important to think about what a function is supposed to do and then document all design decisions and implementations for the future as people working on a codebase change over time. If you have any insights or practices you swear by, please do not hesitate to let us know in the comment section below.

Kanwal Mehreen Kanwal is a machine learning engineer and a technical writer with a profound passion for data science and the intersection of AI with medicine. She co-authored the ebook "Maximizing Productivity with ChatGPT". As a Google Generation Scholar 2022 for APAC, she champions diversity and academic excellence. She's also recognized as a Teradata Diversity in Tech Scholar, Mitacs Globalink Research Scholar, and Harvard WeCode Scholar. Kanwal is an ardent advocate for change, having founded FEMCodes to empower women in STEM fields.

More On This Topic

  • How To Write Efficient Python Code: A Tutorial for Beginners
  • Announcing a Blog Writing Contest, Winner Gets an NVIDIA GPU!
  • Top 18 Low-Code and No-Code Machine Learning Platforms
  • Free MIT Course: TinyML and Efficient Deep Learning Computing
  • Essential Features of An Efficient Data Integration Solution
  • Create Efficient Combined Data Sources with Tableau

US Fears China’s Rise in AI Could Dominate Global Economy and Politics

The US is genuinely worried about China gaining access to open-source models.

Recently, Vinod Khosla expressed his views on the global AI race: “We are in an AI war with China, and whoever develops the best models will dominate the world economically, socially, and politically.”

Khosla isn’t alone in this thought. In a recent instance, US officials were also worried about China potentially using AI for malicious purposes, such as disrupting elections, launching cyberattacks, or even developing bioweapons.

In the same vein, Khosla said that while open source is good for VCs and innovation, it’s bad for national security. Many people took this out of context.

For instance, Stanford HAI co-director and professor Fei-Fei Li responded, saying, “Open-source projects helped propel science and technology in public and private sectors, benefiting developers, researchers, students, entrepreneurs, businesses, etc. – Human Genome, Linux, ImageNet, PyTorch, and much more!”

Similarly, Meta AI chief Yann LeCun weighed in, saying, “He is genuinely worried about China getting its hands on it. That worry is misguided.”

LeCun expressed his support for open-source projects. He said Chinese AI scientists and engineers are quite talented and very much able to “fast follow” the West and innovate themselves: “There are lots of good ideas from Chinese publications that make the community advance.”

“The Chinese government is even more worried about a lack of control of AI technology than their counterparts in liberal democracies,” LeCun said.

Additionally, LeCun added that in a future where every citizen’s digital diet is mediated by AI assistants, people’s knowledge and opinions about politics, history, value systems, etc., will be clearly affected.

Something he believes is becoming an increasingly large red flag for the Chinese government.

Open-sourcing AI assistants is beneficial when considering the potential impact on authoritarian regimes and the dissemination of knowledge. AI assistants are rapidly becoming repositories of human knowledge.

Once they can be downloaded and run locally, the control exerted by authoritarian governments over the information received by their citizens will be significantly diminished.

In other words, the Great Firewall of China would become ineffective in such a scenario.

LeCun believes that a future in which everyone has access to a variety of AI assistants with diverse expertise, language abilities, cultures, value systems, political opinions, and interpretations of history is the future we want.

That future can only come about through open-source AI platforms enabling a large selection of diversely fine-tuned systems.

This is not the first time. A few months ago, Khosla and Marc Andreessen had a debate on the open-sourcing of AI models, sparked by Elon Musk’s lawsuit against OpenAI. Andreessen advocated for open-source AI as a way to promote transparency and prevent monopolisation by Big Tech.

At the time, Khosla again supported closed AI development, arguing that, like nuclear weapons, open sourcing poses a risk to national security. He said, “It’s totally OK not to share the science.”

China is Leading the AI Race

Last year, Alibaba developed Qwen-72B, one of the largest models, and released its latest open-source model, Qwen1.5-72B, which surpassed Claude 2.1 and GPT-3.5 Turbo on several benchmarks. Notably, Qwen is also used in building large multimodal models (LMMs) and other generative AI-related projects.

Apart from Qwen, Tencent released ‘Hunyuan,’ an LLM for enterprise usage, in September last year. This move marked a significant advancement for China as companies in the country strive to establish themselves as leaders in the technology industry, specifically in the generative AI field.

Tencent vice president Jie Jiang highlighted the competitive landscape, stating that over 130 LLMs had surfaced in China by July.

In December, DeepSeek, a company based in China, aimed to “unravel the mystery of AGI with curiosity.” It open-sourced its DeepSeek LLM, a 67-billion parameter model meticulously trained from scratch on a dataset consisting of 2 trillion tokens in both English and Chinese, clearly hinting at its bid to go global. This model outperformed Llama 2, Claude 2, and Grok-1 in various metrics.

Moreover, Kai-Fu Lee’s AI startup open-sourced its foundational LLM called Yi-34B, which outperformed Llama 2 on various key metrics. Lee said that he wanted to provide an alternative to Meta’s Llama 2, which had been “the gold standard and a big contribution to the open-source community.”

With the release of these models, the fear of China rising up against US open-source models is not unfounded.

However, gaining prominence in open-source models, US-based Abacus AI has developed Smaug-72B, a model that tops the leaderboard with an average score of 80, outperforming Mistral. Smaug-72B is a fine-tuned version of Qwen-72B.

This case of Abacus AI’s Smaug model shows that researchers are increasingly interested in using open-source models.

Additionally, speaking at the AI Expo for National Competitiveness, ex-Google CEO Eric Schmidt said, “In the case of AI, we are well ahead two or three years, probably, of China, which in my world is an eternity.”

However, he also mentioned that the next twenty years would focus on national competitiveness overall, attributed to China’s emphasis on dominating specific industries.

However, Schmidt remained optimistic, saying, “We’re the likely winner if we don’t screw it up.” Specifically, Schmidt pointed out that premature regulation could hold the US back, contrary to Khosla’s assumptions.

The post US Fears China’s Rise in AI Could Dominate Global Economy and Politics appeared first on AIM.

We Live in an Era Where it’s Easy to Build but Difficult to Figure Out What to Build

We Live in an Era Where it's Easy to Build but Difficult to Figure Out What to Build

At the OpenAI Spring Update, OpenAI CTO Mira Murati unveiled GPT-4o, a new flagship model that enriches its suite with ‘omni’ capabilities across text, vision, and audio. Murati promised iterative rollouts to enhance both developer and consumer products in the coming weeks.

During the demonstration of GPT-4o’s real-time translation capabilities, the model seamlessly translated from English to Italian, showcasing its sophisticated linguistic adaptability. Many believe that this new feature of OpenAI is likely to replace Google Translate.

Now that OpenAI is also releasing search capabilities within ChatGPT, it might be time for startups like Perplexity to start counting their days.

While this is about the competition between Big Tech, everyone who has been building models around OpenAI’s GPT models or building on top of open-source models such as Llama or Mistral, is at the threat of being replaced by another update to OpenAI’s update.

Don’t be Just a Wrapper

A few days ago, Cred founder Kunal Shah posted on X asking every Indian startup to post their AI products. The post garnered nearly 400 responses. Dharmesh BA, who is working on a stealth startup in India, took some time to figure out that many of the products were essentially just wrappers of existing models on different modalities.

He called and categorised these apps as CRUD (Create, Read, Update, Delete). “Most of these apps are built on top of various mediums such as text, image, video, or voice. Building an app with the premise that OpenAI or current LLMs don’t perform a specific task, and therefore you will do it, can lead to disaster,” he said.

startups dead:
sentiment analysis
live meeting assistant
translation apps
language learning apps
music/singing generation
tutoring apps
interview prep apps
coding assistants
agent interaction
mental health
data science
live analysis wearables
customer service
storytelling
& more

— rajan agarwal ⁂ (@_rajanagarwal) May 13, 2024

To explain, he said that it’s similar to judging a growing child – a 3-year-old who will gain much more knowledge by age 5. You cannot assess a 3-year-old’s intelligence as static.

AIM has always been at the forefront of talks on this. When OpenAI introduced ChatGPT Enterprise, it sent shockwaves across several SaaS startups that had developed products around ChatGPT or offered wrappers based on ChatGPT APIs catering to business clients.

Now, the same is happening with several startups that were offering services utilising different models on top of GPT APIs to offer text, image, video, or voice, such as translation apps, language learning apps, coding assistants, or for use in customer service.

Each time OpenAI updates or releases new versions, many startups find themselves becoming irrelevant because of how the new capabilities of OpenAI can now handle the tasks they were attempting to address.

Moreover, attempting to limit the potential of powerful technologies like LLMs within mobile apps or websites is akin to hiring someone like Raghuram Rajan for basic arithmetic – while capable, his true potential lies in solving more significant problems, as Dharmesh explained in his post.

Therefore, it’s important to think carefully before investing in LLMs through traditional apps and websites and building wrappers on top of them. While this isn’t meant to discourage innovation, it’s crucial to remain adaptable and open to change, recognising that the medium you use is evolving.

Diminishing Returns

This is similar to what Gary Marcus points out repeatedly in his blogs. Most of the advancements in Big Tech are now limited to comparing small changes and updates to their models rather than offering anything revolutionary. All of it is just to get an edge over its competitors.

When it comes to India, researchers and enterprises need to focus on building large models, prioritising technical benchmarking and an industrial standardisation of AI rather than obsessing over specific use case apps. These apps, built on LLMs, are features that can be easily replicated and improved upon by others. Many fail to grasp this point.

Most believe that in the future, there could be several options, and the LLM would be like an operating system where users can decide and choose their own apps. While that is true, how many of those apps would last if the base provider, such as OpenAI, changes its architecture?

The ultimate question that remains is why such research is not being done in the country. OpenAI and Google, both tech giants, have redirected their focus towards Indic languages as well, which will eventually become a threat to those building for the Indian ecosystem.

Recently, Shah also posted on X saying that early-stage startups should be easy to iterate and late-stage startups should be hard to distract. This also highlights the mentality of Indian startups that are not iterating and not innovating as well.

“Startups should be easy to unlearn,” replied Vivian.

The post We Live in an Era Where it’s Easy to Build but Difficult to Figure Out What to Build appeared first on AIM.