Jonabot Post 1: This Year’s Holiday Project, Build a GenAI Consultant

Why Do a Holiday Project in GenAI?

I run Kyndryl’s Applications, Data, and AI Consulting practice in the US.  One of the things that I love about my job is that it exposes me to a wide range of interesting client opportunities.  Everything from helping customers move to the cloud, to re-evaluating the way they use their data warehouse and analytics, to making better use of their ERP systems.  While this broad exposure offers interesting executive level insights, there are some technologies that are so universally compelling to my clients that I feel like I have to get some hands-on experience so that I can have an informed opinion about how they’ll develop.  This has happened a few times with container, serverless, and devops advancements in the cloud that forced me to rewrite my side project for that hands-on experience.  It happened a couple years ago when I felt I needed to get my hands dirty with Machine Learning by creating an AI gambler.  Over the last few months I have spent a disproportionate amount of my time talking with clients about Generative AI and I know I needed to understand it better.

Unless you’ve been living under a rock the last year, you’ve played a little bit with Generative AI either through ChatGPT or through Google’s BARD that’s built into your Android Device and Google Search Results.  For enterprise customers they need to understand how they can leverage Generative AI, how much value it can provide now, and the extent to which this becomes a competitive differentiator in various industries.  It’s clear, I need to invest in some learning on the subject, the question is how to find a valuable part of the Generative AI landscape that I can focus on over the holidays?

What Should I Build?

One area that it definitely will not be is in the building of Large Language Models (LLMs).  Technology companies like ChatGPT (in partnership with Microsoft), Google with Gemini, AWS with Titan, and Facebook with Llama have dominated the training of “Foundational Models”.  Enterprises that don’t have a billion dollars in R&D budget to spare are left to focus primarily on how they can leverage the LLMs provided by these tech companies.  Since the budget for my Holiday Project is even lower than my clients’ R&D budgets, I will focus on this customization of LLMs as well.  Specifically, I thought I would spend some time over the holidays customizing AWS’ Titan LLM (selected only because I plan on using AWS for the project) to build a Chatbot that’s based on me!  I’m hoping I won’t be so successful that it can steal my job, but I am interested to see how far this can go.  I plan to name my Chatbot, Jonabot.

What’s the Plan?

If you haven’t been following the Generative AI tech, there are three ways to improve on foundational large language models (LLMs) like AWS Titan better.  I’m going to explore each of the three in a blog post as I create Jonabot and then there will be a final blog past where I put my model behind a UI and put it to the test with my family at our Christmas celebration!  So look for the following blog posts over the next couple weeks:

  • Jonabot Post 2: Enhancing with Prompt Engineering – This is the easiest way to manipulate an LLM and you can try it yourself with ChatGPT or with Google.  Simply request that your LLM answer questions in a certain way and it will do its best to comply.  I will use this to give my LLM a little information about how I typically answer questions and some of my context.
  • Jonabot Post 3: Enhancing with Pre-Training – This is the most complex form of customizing the Generative AI LLMs.  In this case we essentially continue to tune an existing model using specific content.  For training Jonabot, this will involve using my blog and my Twitter to augment AWS’ Titan LLM so that it is particularly customized to be like me.  This is different from RAG (explained below) in that it will help, in theory, to actually change the way the LLM speaks and answers prompts instead of just augmenting the information it has access to.  If I’m honest, I am skeptical how valuable this will be for Jonabot because I don’t have access to a significant amount of my writing (I’m unwilling to use my emails, texts, github, etc… for fear of exposing  personal or customer information.
  • Jonabot Post 4: Enhancing with RAG – This model of enhancing LLMs is what I expect companies will want to do most often.  You can think of it, essentially, as giving your LLM a context specific cheat sheet every time it has to answer a question. In this case I’m going to give the LLM specific biographical information about myself, my company, projects I’ve completed, etc…  This will all get stored in a vector database and, whenever Jonabot is asked a question we will quickly find the most relevant few pieces of information from these facts and they will get fed into Titan to be used if relevant.  We are already seeing RAG be really important to our clients as they work with Generative AI because it allows them to make these “Foundational Models” answer questions that are specific to their enterprise.
  • Jonabot Post 5: Bring it together and Lessons Learned – I’m not much of a UI developer, but I am hoping to find a framework I can use to easily expose Jonabot to the world!  In this last blog post I will discuss finding/leveraging that framework as well as provide any lessons learned from the Jonabot experiment.

Of course this might all change as I discover what the wild world of Generative AI has to offer… but one way or another, grab a bit of peppermint crusted popcorn and a glass of eggnog and let’s see where this chimney takes us!