Bearish to Bullish on Generative AI
The biggest secret in recent AI news is obviously ChatGPT and OpenAI. In the Dair-AI prompt engineering lecture on YouTube, Elvis Saravia provides some insight into the rate of ChatGPT adoption vs Facebook, Instagram, TikTok, etc. I was astonished to learn that ChatGPT hit 100 million users in 2 months, significantly faster than many other significant digital platforms.
During my Master’s in Data Science I wrote a paper on GitHub’s CoPilot tool, as it was released and promoted by GitHub and Microsoft. It was around the time of Microsoft’s acquisition of GitHub. I was apprehensive then beacuse it seemed to be a disruptive technology to developers just as I was trying to break into a related space (Data Science). I freely admit that I was quite bearish on ChatGPT in the first month or two of its release, and even voiced my concerns at work in chat threads. While there are several concerning things, namely the rate of progress by a select few, the gates to leveraging these tools (e.g. cost to train a LLM), ethics, and emerging monopolies, there are also some amazing things.
Recently I explored development of both a ChatGPT clone and a semantic search Q&A tool. Honestly, its not too difficult to create a basic PoC
The things that give me anxiety
I am unsettled by the ease in which tools like ChatGPT can be used, and the problems they can solve out of the box. I worry that the inertia that Microsoft, OpenAI, and Google have. I am concerned that true open source offerings like those on HuggingFace, won’t keep pace because of the investment required to train something like GPT-4. I am concerned that individual efforts for someone like me, in a data scientist role at a non-tech company, are going to be overshadowed by tools built into platforms. One prime example is the CoPilot addition to Microsoft Office. I understand Google is doing a separate thing. What can I do that won’t be done by the Microsofts of the world?
Honestly, I don’t know. I think the biggest things to put trust in are (1) the desire to keep learning, (2) leverage the amazing things others have built, e.g. langchain to speed development, and (3) focusing your efforts on niches that don’t cover the 90% of use cases that these generalized productivity tools won’t cover.
The opportunities
Because of these tenets that I’m attempting to stick to, I see opportunity in targeted use cases that leverage private data and/or complicated processes. Yes, these applications can be more difficult, but to the right domain they bring a lot of value. I have adopted this approach in learning about semantic search and website Q&A. I crawled my company website, adapted the Web Crawl Q&A from the OpenAI cookbook repo, and built a Gradio app on top of it. For a few dollars (~$4.30) in credit, I was able to crawl, process, create embeddings, and run dozen’s of Q&A api requests (embedding + lookup + generation) using the text-davinci-003 model from OpenAI.
Here is my repo: yarrib/OpenAI-Samples
I’ll be adding to this in the coming weeks, but for now there are two examples of gradio apps. You’ll need to scrape your own data, etc and I’ll update the repo to facilitate doing this more easily, by adding helpers and ensuring the conda environment is up to date.
What I’m doing next!
I’ll be continuing to split my time between work applications, which will be in the Azure ecosystem using the Azure OpenAI service, and personal projects. I’m hoping to a get a good handle on the basics through the OpenAI Platform, the OpenAI Cookbook, Dair-AI’s prompt engineering guide, and last but not least, HuggingFace.
Parting thoughts
Generative AI is very different for me. It feels so much different that training a Random Forest or Neural Net from scratch, even different than transfer learning. I’ve been slow to understand ML and DL, because I get trapped in the watch another video or read another book instead of learning by doing. That approach of jumping in, trying stuff, and figuring out the details as needed is Top Down Learning and emphasized by the fast.ai folks. It works, but doing it is hard! Its been a challenge for me to move into this space, because it requires more focus and more work, but I’m starting to deeply understand that the experience of trying (and failing) is orders of magnitude more beneficial than being an observer. For anyone who is on the fence or thinks that they cannot learn how to do something, I highly encourage trying. Doesn’t matter where you start, doesn’t matter how little you deviate from an example repo. Just try….especially in the Generative AI space. Its an emerging and exciting domain that has a lot of potential.