Categories
Uncategorized

Dixit’s dilemma of Generative AI

How do you verify output of thing more intelligent that you ?
That’s Dixit’s dilemma of Generative AI. Its not famous yet 🙂 .

But as we employ Generative AI more this dilemma will become famous . Take the case of code generated by GenAI , you need the developer using it , to be more skilled than the complexity of the code being generated to find out correctness of the output .
A corollary of Dixit’s dilemma is that our Qualitative gains from GenAI are capped by the Quality of the verifier !

Did someone talk of GenAI making your job redundant ? It can in the quantitative domain but not in qualitative domain (it the mundane can be but the classy can’t be ).

EDIT : Some more clarifications

The holy grail of code generation .

The holy grail that we all are chasing from tools like copilot is that they can generate the whole code from requirement documents .This is not a stated need but that is what people are hoping for . read on .

If you see the popular demos on code generation by GenAI tools there are few scenarios that occur often :

1. Given a table or json generate complete webservice

2. Find the performance or security bugs in code

3. Find structural issues with code as per the language specification

4. Flag issues with dependencies from deep within codebase

5. Document my code

6. Write test cases , elementary ones .

Now if you see the capabilities of IDEs , code generators ,profilers ,linters such things existed since decades for most of the programming languages .But they were in siloed in nature .So we can give credits to LLMs tools for bringing it all together .This can benefit existing codebase a lot .

The situation becomes interesting for new code base . The demos where one can make the tool write a script for managing a server or sorting algorithm are in essence demonstration of smart lookup (for relevant code fragment ).This can benefit seasoned developers by saving few keystrokes .What next ?

What do we all expect next is , can the tool take long format requirements and generate functional code .That is to say can it read my Jira requirements and understand my user persona , interfaces , domain jargon ,different flows so on and so forth . It is certainly passible to give lots of prompt context to AI tools and create such a demo .

Can we do it at scale for an organization ?

Can we do it in a manner where prompting the requirement context doesn’t becomes as complex a job as that of programmer ? AND

How can we validate that what ever is generated is functionally correct without needing a new battalion of validators ?

These are the practical question for which we don’t have answers .

This is not to say its not passible , domain languages for automatic code generation has been in place for long . Coupled with GenAI they can do wonders .Its just the current breed of GenAI are not made for this sole purpose .The day that happens , all the GenAI demos will happen to CTOs instead of CEOs 🙂 .Read that again 🙂

Categories
Uncategorized

Cricket World Cup and Understanding Indian “yes”

The difference between our Yes

Working with first world team mates for this long i have realized the difference between our Yeses . In a first world setting when you asked someone “can you do it” it meant “is this well in your ability?”+”will you deliver this on your own”.

The first thing that would happen in Indian team setting is that “can you” is understood as “will you do it for me” .It is also supplemented by “you will be at your peak energy” ,”you are counting on all your friends and social circle for support”, “you are very optimistic” and finally “in event of any crisis feelings of human around you matter more than material results ” .

One add or remove few more sentences to this but in essence the Indian Yes is always a tentative yes .This tentative yes is not really a problem for Indians working in Team setting .Most of India like societies intuitively know that renunciation and human connection surpass anything that has been agreed .

The problem of Implanted systems

The problem arises when Individual and achievement based team settings that has been perfected in Industrialized world is enforced people who are on society and experience oriented .

This gap can largely explains Indian performance in sports also .Like recently concluded cricket world cup 2023 where the best Cricket team India had so far lost like a clueless team. Indians fans are sad but not angry or puzzled about the outcome . The appeal of ‘India will win the cup’ was always emotional as opposed to one rooted in cold mathematics. So most Indians understood that we failed to do the hardcore scenario planning about the match and the minute by minute follow up of it …so we lost .But we are more touched by the tears of the players .That’s US .

The missing Indian team Model

This is not to say Indians can’t be individual achievers or cant get world class results in team settings . The proofs are aplenty .

The Indian yes is actually a super power you can have in your team that can do wonders in events of chaos , crisis ,diversity and rapid change . The only care one needs to take is to weave the intended achievement as something that is above individual and is a social aim. Or at least make sure that the teams is trained in the westerns style of Individual-achievement oriented human lego blocks that fit together for the result ; than gathering a team of super hero’s that will say “Yes” to your “can you do it”.

As for as India’s loss in world cup 2023 , our reaction to Rohit Sharma’s tears is emotionally same as one we had when Bhagwan Buddha or Rama left their palace,…………………renunciation and repentance over anything materialistic

India's skipper Rohit Sharma gets emotional after losing the ICC Men's Cricket World Cup 2023 final match against Australia by 6 wickets at Narendra Modi Stadium in Ahmedabad on Sunday. Australia win their sixth ICC ODI World Cup title. (ANI)
Rohit Sharms in tears after the loss (Image courtesy news agencies )
Categories
Software

Pair Programming with a Large Language Models

Pair Programming with a Large Language Model .

Guess this wording settles the debate against the developers . The narrative has been set for use of LLM for productivity boosts with this phrasing !But are developers burdened with expectations or is there some hope of real usefulness to developers with the help of AI?lets check .

Using llm for coding task is expected to give huge productivity boost . Mckinsey already released a report on measuring developer productivity .Organizations like ChatGPT/OpenAI/Microsoft and the likes of meta/CodeLLma are coming up with code LLMs and numbers on productivity boost .There are new coding LLMs or LLMs with such capability coming up every week ,so this list is non exhaustive .

Paid to code or paid to recollect ?

However the question remains , can LLMs in its current form boost developer productivity across the board . The answer is no .Its only the developers who have a clear picture in mind of what they want ,can save some time with typing work with tools like copilot .

However the cognitive work for the developer now shifts towards reviewing the code generated by AI .Which is heavier mental work then writing code via learned skills .

This also raises a question of memory recall of such AI generated code at scale ! .Developers after all are not paid just to “code it” . They are valued for knowing their code , maintaining it and debugging it . Will the developers have a clear mental model of such AI generated code ? and what is the limit of such active recollections ? For now we we don’t know answers to these questions .We can take some guess from our experience with social media .This experience tells as we honestly don’t have first class recall of the virtual updates from our network when compared to actual moments spent in physical world. Even if someone argues that social media is not approached with the serious ness coding is ; the limits of our fatigued brains are known now. So I would conclude that the so called boost to developer productivity is overhyped .

The Future of coding with AI

There is however a good case of vendor curated assistants .Imagine an coding assistant from spring/java or vuejs or likes. These can help us with smarter code highlight ,offer deeper code review and provide standardized lookup code samples for developers to use. They can also have a real connection to the language runtime and offer are better suggestions on optimizations and debugging .

This is probably the less shiny ,less geeky middle path to developer productivity with the help of AI. Exactly in the spirit of Pair Programming with a Large Language Model .

(image via genecraft )

Categories
Software

ChatGPT LLMs , AI for consumers and Future

Talking tomcat (copyright Fandomwiki)

Remember “talking tomcat” ? This was one of the unsung hero’s that made android OS popular .A cartoonish cat that can echo what you spoke in cat voice .This was a fine demonstration that with prevailing hardware android could replay voice with modification . Of course the lay uses would not word it this way but they got the point anyhow .This is exactly how technology goes mainstream . What followed tomcat is set of apps that could then add dog face to your picture then to your video and so on .By then the novelty had faded , the capability was taken for granted .People expected mobiles to this much at least and then moved on .

Users perceive ChatGPT as bright teenager

ChatGPT in its current form is talking tomcat of AI .This is first time common lay person is getting a demo on how much more can be done with AI . For all he knows ,its nice chatbot that can do brainy stuff . How brainy you ask ?

This is important question to ask .If we were to equate the “general” feel that ChatGPT gives to most common interactions people have then what would it feel like ? Remember spelling bee contest that are held in USA ? For most of the lay users chatgpt feels like a smart teenager that is G.K bee (in that sense). This is how consumer mass market sees innovation . Simplified and equated to mundane things in his/her life .

Two directions LLM needs to evolve

LLMs for consumer use cases

The above discourse make it clear that large language models(LLM) need to evolve and also be understood in 2 distinct set of parameters . One is the consumer angle . Taking a leaf from how android was seen or how voice assistants were seen ,LLMs for lay consumer simply means that computers can now answer diverse and more complex answers(#1).This also implies that how much ever the the press focuses on ChatGPT , the future of LLM is in the usage driven consumer space . These are specialized models that do one or few things in one are with unambiguous and immediate utility . Imagine an app that can take your picture or live videos and suggest fashion makeovers to you (ideal copyrighted hereby 🙂 ). Or take for example BoomberGPT that aims to cater to offer targeted consumer utility for end users . Similar such gpt models can be built around legal advisory ,medical first line help ,cultural adjustment needed during travel .A general LLM that can filter money laundering names can makes life easy for regulators .

OpenAI is aiming to be THE general purpose engine for all such use case via its plugin architecture .Can it succeed in giving curated user experience is matter of debate with ChatGPT 4 .With future versions of ChatGPT things might change .But it can also be case of diminishing returns where the model size and compute cost cant justify future refinement . As far as end users of AI are concerned they are interested in the utility than specifics of the software internals .

LLMs for AI community

Information ownership and privacy leakage are tow important issues any LLM has to handle .We have learned many lessons from years of legal cases and government request of page take downs to search engines . Once the hype subsides the LLMs fed on public information will soon get into all of this mess .

And don’t even think what will happen if ChatGPT gives an answer that is blasphemous in some culture . This is my main reasoning as to why GPTs in chat mode wont harm Google’s search business .There is need for sanitizing ,curating and localizing the outcomes and none knows it better than google .Just that they need to offer same LLM toppings on their pizza too .

But as community we need to keep pushing the boundary on parameters .Efforts will also be made to plugin knowledge representation (universal or specific ) with LLMs for more deterministic answers .Size/cost optimization and Realtime model updates at this scale and geodistributed LLMs are few directions in which efforts can go

Premature Universal Knowledge claims by LLMs PRs

Its not the AI scientist but the PR machines that are claiming that we are very close to general intelligence .So far computing is concerned LLMs have given a feel that they are generally intelligent .We must remember that Googles LamDA was the first LLM that was said to be sentient (funny how google lost the PR battle ). So on the basis of “feels like human” the LLMs have started giving a feel that it is human level or intelligent or both . Moreover given a focused effort a “self” neural module can be built into LLMs .Say an LLM that can sense that its cloud billing is crossing the daily threshold and its starts feeling tired now .

This is funny example but its tells you the inherent problem with sentience of machines .Without change and limitations that living being experience , machines can achieve plant level equality to being alive .For animal level behavior they need to have ability to grasp animal concepts staring from reptilian to mammal and then human Brain .And also the concept of emotions that affect their whole existence (as opposed to giving a feel of an emotion).

So far the end user experience is concerned LLMs in current form do “feels like human !”

The second challenge is do LLMs have universal knowledge .Any one working on web search or elementary ML knows the answer is NO. Current LLMs are limited by the thin slice of information it was fed .So in reality this is more of a media claim than anything an AI scientist believes .

Societal Impact of post LLM era of AI

How has TV or mobile or internet affected humans/Students/Kids ?

The cognitive-behavioral impact that above waves of revolutions had on humans will be further multiplied by the capability expansion brought by AI (Apart from LLMs , image search was one such capability expansion but it was under hyped). So this issue and the debate and the remedies that follow are known to us .

However the issues of cultural, individual and situation sensitivity is something that the centralized models are not geared up to handled . Nor are the efforts behind them are aiming to .So good number of “situations” where “feels like human” AI did not really “work like human” will come up in coming decade .

New AI frontier

LLMs have not expanded the frontier of AI as field .However they are first class coming of age story for the community .As next level evolution AI can now evolve into two directions .

Personal Models

Current efforts in AI designs come from corporate style centralized AI desings .If there is any effort where a personal model can exist it will be more revolutionary than LLMs . A sort of “AI thing ” that stays with individual and monitors and learns and advices him/her .Imagine your fitness tracker which can suck data from your online activity and also listen to your speech and brain MRI .The corporate business case for this is lacking but the challenges pursuit of such “AI thing” can have on the AI community is huge .

Architecture for Sentient AI in 2026?

Leaving aside the debate of whether we really need it ,once the LLMs are seen as normal a concerted effort of AI labs can work on developing new neural architecture ,that learns from evolution on sentience in living organisms .Whether we will succeed or not ,AI community deserves to pursue its own “voodoo doll” moment like all branches of science .In fact if present AI labs gets enough money they might work on it sooner than 2026 .It is one of those effort worth failing .

Categories
Software

is Gen Z changing the interview dynamics ?

Classical Nature of Job interviews

Job interviews were always 2 way street . At least on paper it was always the case . For most of the time as millennial the candidates were more kind and silent in this process towards the other side .The most common diligence my friend circle used to do while appearing for IT jobs was pay scale .However the Gen Z are turning the tables . I have seen them matching the Hiring manager and HR questions with equal scrutiny .

Gen Z has different attitude towards Jobs

A typical “why did you change company so often ” is matched by “what is your turnover rate” . A “Tell me about your skill sets” is matched by “what are my leaning opportunity”. A “The salary you are asking is high” is cleverly countered by “what is your growth rate/hike rate etc” .A probe on hard work , flexibility , learnability is match by “what is support system/work arrangement ” . Ofcource these are my wording and slice of my socio-work sphere .

In many cases where start up and stock options were applicable these generation shows equal grasp of these dynamics .In many case my senior friends form these circle told me that “inspiration” ,”growth”,” making dent in universe ” are not having the impact it used to be during there conversation .This attitude is seen candidates from not so elite colleges also !.

Gen Z mindset shift

But a good amount of Gen Z have started looking at workplace as lifestyle choice (now/India) as opposed to earning “opportunity” earlier . In 90’s IT pioneers in India used to talk of themselves as offering social upward mobility for first generation Engineers from rural India .That basically summarizes work place as employment opportunity ,trend that previous generation displayed . However when I specifically probed about this strata assuming that folks from this segment might still be seeing world like my generation things did not change .The youngsters with no so privileged background seem to have caught the same attitude (as that of urban/settled section ) towards work and workplace .This is how social scientist define a generation ! The attitude change is generational and here to stay .

Changes the hiring side needs to do

What this now means is that people on the other side of “conference call” have to now shift the mindset from “hiring”-“recruiting” to “teaming up”-“tribe formation” .We are no longer giving them job .Instead they are choosing to spend their life with us . to A big shift for my generation of people .

PS : these are my observations and not a scientific study with large-diverse sample space .My slice of the world in india/IT centric …..But it made sense to plot this point in space for anyone to spot the trend .

Categories
Software

calling the BS on system design interviews

diagram
( copyright design gurus/Arsalan Ahmad , included for critique ,which is fair usage )

This great diagram about system design also exposes the hollowness of this system design trend . Apparently system design expects you to know
1. Load Balancing
2.Caching
3. Queues
4. Search
5.Streaming
6.Observability
7.All databases
8. Cloud compute for scaling

What are we interviewing for ?


But what we are basically asking is can a candidate design this fictitious FaanG system using Aws with 5-7 years experience . I am sure a sharp mind can read and answer anything about Graph DB to partitioning to blob storage but it is a fact one needs good number of years of hand on practice to be reliable professional in this area .I will be suspired to see a candidate so lucky that every 6 months he/she worked on a project that exposed him/her to each one of this area .Very unlikely .Have we then started believing that knowing random bits of designs from FaanG companies is somehow a skill akin to knowing distributed computing with guaranties !

What system design interview might mean


What system design interviews then probably means is we are looking for team mates who understand cloud scale vocabulary .What it might also mean is the expectation is restricted to only vocabulary and there is some other Senior fellow or team doing the actual Architecture .It might then just be simpler to ask AWS certifications instead of system design.
Next problem is what frameworks do we expect these candidates to use ? Java/spring in lambda is different ballgame than nodejs in container .REST is a different skill than how you package your services as micros while keeping functional sanity and quality of services. So is UI or big data. Very few system design talk of this complete stack (cloud to framework to code).I am sure lot of these interviews also cover performance ,security , build and such areas but how is that coherently weaved to the typical system design questions is a question worth pondering !
And i am totally discounting the fact that most great internet companies build their own platforms , a skill that is more challenging than system design in current interview flavor .

The reality check

In all probability system design interviews are outgrowth of the full stack engineer myth we created in industry (my old post on this topic) .Here 2 questions are worth asking :
1. Are we really creating tribe of cloud aware candidates with whom we do mutual fakery that we can design netflix video stream or uber scheduling with no deep experience to back it up ?

2. What is you job designation ? system designer engineer I/II/III ? or system design architect ?

ps :Here is also a detailed skill matrix for you to plan your growth https://docs.google.com/spreadsheets/d/1lAFfBj7UM3NZrS3ywsHZsK4pnWN5eWZJCeSt-UtQyu0/edit?usp=sharing

Categories
Software

How much of AI depth should software engineer have ?

How much of AI depth should a generalist have ?

When it comes to AI and general programmer/Technology Architects ,one question I get asked is how much of AI internals they should know ?

The answers have few nuances . A budding programmer or framework aspirant these days has to be fullstack .Like it or not that is a job market reality . It takes good couple of years for someone to be respectably good full stack i.e Frontend -services- db .Interestingly cloud used to hyphenated in this equation as skill .Not now. Now the cloud is treated at par with your eclipse/intelliji . At the same time distributed computing has become the umbrella under which all job candidate now stand.

I would suggest that for generalist programmer technology architects AI will end up in same league as cloud .2023 is about time it a happens .

AI awareness becomes commodity skill like cloud

Detailing more on the path towards AI aware software engineer .

Most of the programmer community know elementary stats from graduation which can be brushed up to grasp what we call as machine learning .

It will also help so understand the piece on data engineering as for a generalist this is one common intersection point with AI (integration) .

However when it comes to deep learning it gets interesting .As such a the details of how a neural network works has no direct impact on daily work of a programmer/architect .But as a learning opportunity as well as future of programming frameworks we need to watch out .

The design of a tensor of tensor flow is a good proxy for designing your own interpreted language . The RNN,CNNs of the world are not only delight to study but they also are a possible direction as to where our big data or distributed computing might evolve .In fact there are already segments in AI community which are working on distributed learning (compute) framework .I see no reason as to why the deep learning community and traditional language-framework creators wont exchange notes soon and copy .

With that as a direction ,

Here is a simplified Architecture diagram of GPT of chatGPT fame. This one outlines the essential elements without dumbing down the huge amount of work .

https://dugas.ch/artificial_curiosity/GPT_architecture.html

Categories
Software

Developing your System Design Skills

What is system design in software ?

Budding architects often ask me about the way to learn System Design .That is practically to say system design has become rite to passage for Technology Architects now . But as such system design doesn’t have one clear definition .The term became popular when big tech and the copy techs started asking people to design distributed solutions . So when a budding Architect decided to learn it , he has to mix AWS certification syllabus with lots of Martin Fowler blogs on Event driven systems .Add some kubernetes to it ,top it up with kafka . Some CAP theorem and consensus algorithm will be nice to . And finally some cheat sheet like numbers a an engineers should know . There is noting wrong in learning all this stuff . But we must also acknowledge that these are disjoint knowledge items that will cognitively burden a newcomer and even make few people depressed .

A simpler learning approach

In my alternative approach ,I ask my mentees to design a complex enough software first and then scale it cloud . That is it .No kubernetes or kafka mandated . Take for example this simple diagram from Apache flink architecture . This is a very typical arrangement for hadoop based framework , mapreduce-spark-strom and so on .

Apache flink simplified architecture (courtesy Oreily )

Can your engineers design a robust implementation of this for a single server ? This is a fine system to design . We can always scale this to cloud .And here you will realize that many of your learning items in system designs are needed because of this movement to cloud .They are not essential part of system design . So in ideal scenario one can design pintrest for single server and learn the craft , design google drive for one server (why not design hdfs ? even wondered why its not popular question ?) and master the complexities . The scaling to internet can come at a slow measured pace .

This also bring me to one side point that the Gang of Four is still the base line where you start your journey towards developing your design skills .A good amount of your system design ideas still come from there .It is only after you decide to make your software internet scale you get into issues of guarantees , ,consistency and latency the 3 main pillars that will then shape your journey .

Books recommended

So here are the books i recommend ,in no order .

1. Gang of four design pattern

2. Cloud Native Architectures ,pckt pub

3 The Architecture of Open Source Application ( they have a website or get the book)

4. Architecting for Scale , Oreily , this is one good book that teaches you cloud sans the sales and marketing fluff when you do vendor cloud certifications

5. Fundamentals of Software Architecture , this is one wisdom style book that tells u about the roles ,decision making process and popular architecture choices

6 Designing Data-Intensive Applications , little dated but it has good coverage on databases and big data systems .One stop .

7. Alex Xu‘s book System design interview . Though this is titled as interview book .It is one good book that has excellent breadth . If you go with the theme of my post , this could be your final book .

One last thing .There are so many other topics and books that one need to read .Fowlers book on Refactoring and Enterprise integration .Eric evans book on DDD. Pini Rizniks book on cloud native transformation .Bellmeres book on event driven microservices .Sam newmans book on microservices . Accelerate on CICD .Even SICP by mitpress.

But all of these good books that you should pick up when you know the landscape well else they will confuse you as practitioner.

In the end system design is all about interviews .When it comes to your project , your problems wont have to fit the text book (which is when you should reach to specialist book or your mentors ) .

Here is also a detailed skill matrix for you to plan your growth https://docs.google.com/spreadsheets/d/1lAFfBj7UM3NZrS3ywsHZsK4pnWN5eWZJCeSt-UtQyu0/edit?usp=sharing

Good luck

Categories
Software

Is India paying back its software debt ?

Effect of Technology Pioneers

Sometimes a software company changes the industry landscape in many ways that it should be called foundational change . Take for example Google and its search or snapchat and images or Amazon and cloud compute or Netflix and guaranteed streaming . Its is not that these companies always invested the basic technology behind the examples cited here . But they developed and deployed them in a way that it changed the industry forever . Not only did these services-products became our default experience expectations .They also pushed the boundaries of tech .But most important is that they made all these technologies mainstream . This elevated the level of the ground we stood and operated on for the entire community . Pioneering and mainstream are main reason why startup are important .

United states was very luck here .Starting bell labs.. sun microsystem…hotmail ..twitter . That is why it is important for a country to have internet companies that operate at foundational level . A well operating company is better change agent than university professors .

After US its is only China and Russia that have companies flourishing in this foundational area.

India missed the bus

The situation in india was that of a missed bus .A flourishing IT industry ,nascent open source contributors and buzzing startups .But not many companies that offered foundational elevation of the playing ground .An world class email or search or social network or cloud compute or even programming language . A thing that is foundational and took something mainstream. To be fait the many unicorns would have secondary good effects .

But India’s is also story of failed attempts . Few ,i can cite are : the Indian distro of unix which never picked up. Simputer : a hardware+sofware pioneer from the same timeline as that of android but not as lucky .Onmobile which 15 years back attempted voice/NLP capabilities . and few more

The Surprise contributor

However in recent past we have seen that government bodies have become surprise contributors .They have not only done foundational work (is system-method-framework style work as we use it in patent lingo) but also made it mainstream . This is akin to how we repay our technology debt in software project .Here is my list with note

Aadhar : billion people scale biometric authentication . Only facebook can claim this scale and apple can outmatch the security . Also the fact that it is also acting as world biggest KYC infra is noteworthy . The fact that one can human verify ones efiled tax return with just one sms-opt is the smooth experience product managers dream of .

UPI : Nobody has paid bigger compliment to unix than unified payment interface .The fact that you can create email like aliases (plural !!!) and make payment from some one who is not your bank ,while your bank and their APIs work in the background to make it happen ; is tallest story of digital transformation .UPI also has its brothers and sisters in bills ,account aggregator and open lending .

ONDC : Open network for digital commerce .While this still under wraps ,from the news we know this is going to be shopify with lots of open elements to it .That includes discovery ,payments, onboarding and fulfillment .One need to also note that the main aim of ONDC is include the uncovered sellers than rival amazon or flipkart . Getting build on the lines of UPI this is probably also first of kind aggregator that is open and not for profit !

GPS story : Just few days back indigo air flight landed using homemade GPS system . One must also note that ISROs gps buvan was launched decade back . Delays aside ,this is not a nationalistic cheer . Once you have cheap and open GPS technology that is tuned to local needs a lot many companies and secondary tech can come up . Mapmyindia is one good example who has google comparable retail map app .Not only that , is also by in many commercial car companies .It is matter of time that someone come up with india based automatic driving software .This will be significant moment not because its indian but there are many situations and use cases in autonomous driving that exists in Asian/third world countries that it will important event .

While these examples are few but they are foundational . Coming from government bodies it is also important to note how this contrasts to US style Macho man/Tony stark kind of hero driven innovation and making a dent in the universe type of discourse .This is a healthy model and its occurring is akin to india paying back the software world its debt .

Afterthought

I had some good stories to cite from japan,uk,france,israle but this one isnt essay on software vs countries .I also had good urge to cite hike and postman but again this wasn’t essay on indian companies . But i would love to see a post someday on significant open source contribution by companies operating in india .

Categories
Software

Sanskrit ,AI, NLP and Compilers

There is one social media post that keeps doing round. It says that some NASA scientist claimed Sanskrit is most suitable language for AI.People laught at it as fake news. Here is link to 1985 article that started it all.
But why is this fact not underlined loudly you may ask. Multiple reasons.

First the fact that sanskrit has oldest codifed grammer ,some 3,4 BC are attributed to Panini who worte it. The main feature of this language is that it denotes same meaning even if you put words in any sequence. This happens via reflectivity .In simple term the pre-post fixes of noun applies to verb, adjective and derived forms. This is very neat preservation of semantic meaning. For other aspects of grammer this language has very logical,maths like rule.Which feels like a programming language.

Now, this aspect of sanskrit is given mention in intro sections of big books on compilers and pasrsers.Including the lagend MIT professor Noam Chomsky whose language theory formed basis of Natural Language Processing. But world has moved of from prolog and lisp to more sophisticated models of NLP. So the early theory of the field wont get mention in new papers ,there is no motive here. Same has happened to works on compilers.

Cut to today our early NLP libraries built on work of many researchers after Chomsky and relied on typical parse-toekn-interpret sequence.
The current champion of NLP ie BERT was celebrated for bi directional application of relationship which allowed it for better correlation of words in terms of their meaning. This feat actually derives from Sanskrit but its not an exclusive feature of sanskrit.So we dont have a reason to find prejudice.Nor can one person read all research papers where it might be mentioned.
Now the next phase of evolution of NLP is to move from sentences and arrive and comprehension at higher aggregate level.Like how you and me can understand poetry in all of its abstract metaphorical erratic flow.This calls for not only processing of language in terms of words-relation-meaning but also calls for iterative dive into parallel knowledge models and alternate meaning.Think of reading a satirical poem….
When the next production strength NLP winner, will be published it will derive from the reflectivity Sanskrit has; but its mention in the research paper will depend on the prior work the researcher has referred.
So,as much good the ancient languages is the way research methodology and citation works,we dont have to always suspect motives .

ps: I have tried to give very simplified view of NLP and Sanskrit here so experts in the field should pardon the simplified version of things.

Link to original paper of the images shown here : https://ojs.aaai.org/index.php/aimagazine/article/view/466

link to bert paper https://arxiv.org/abs/1810.04805

here is excellent article on timeline of parsing as technique : https://jeffreykegler.github.io/personal/timeline_v3