Tuesday, July 25, 2023

Generative AI, What Is All the Hype About Anyway?

 

www.freepik.com

Over the past few months, I have been delving into this subject called Generative AI. Unless you have been trapped on a desert island somewhere without any communication with the outside world, it is pretty difficult to miss all the talk and hype around this subject. As someone who makes his living off of technology and, sometimes bleeding edge technology, I felt that it would be wise for me to start learning a little bit about this. What I didn’t expect was the rabbit hole that I would be going into as I began to learn about this. This post is the first in a series of posts about what I have learned in an attempt to bring you, my readers, up to speed on this subject without having to go through the hundreds of blog posts and papers that I have. My goal with this series is to enlighten on the topic of Generative AI and hopefully, give you a jumpstart into this space and teach you about the components of Generative AI; show you how magic works to provide you the answers you receive when you ask ChatGPT, Claude 2 or Bard a question or give it a task; delve a little bit into the current implementations of Generative AI that out there; and give you some insight into how to use these tools through something called prompt engineering.

What is Generative AI?

So, let’s get started by defining what this thing is that we call Generative AI. In a nutshell, Generative AI is a lot like having a genius friend who can consume and remember any piece of information that has been fed to it. In turn, it can use this knowledge to invent new and exciting things like art, music, writing stories and even help scientists and experts solve problems. Okay, so that is pretty high level, generic definition that could have come from the marketing department. So, let’s take a little deeper look into Generative AI and talk a little about how it works.

Where does all of this knowledge come from?

Behind a Generative AI application there are complex machine learning models that are trained to understand the large datasets that are fed to it. A machine learning model is basically a program that allows computers to learn without having to be explicitly programmed. In the days before AI (or before most of us knew about it anyway), computers had to be given explicit instructions via a program for everything you asked it to do. For example, when you click on an icon to launch a program, there is a set of instructions or code that tells the computer what it is supposed to do, i.e., go to the exact path where the executable file associated with the icon that you just click is stored and run it. Everything you ask your computer or a specific application to do requires explicit code that the computer runs to respond to your request. Machine learning allows computers to be able to take things a step further and allow computers the ability to reason or, more accurately, predict what it should do when you ask something of it. Now, for the foreseeable future, this won’t impact the way your computer works. For the next few years, it will still need explicit code in programs to tell it how to respond to a certain user action.

What machine learning and Generative AI is starting to give us today is systems that can be used as the basis to solve complex problems; create automated systems, such as chatbots, that can answer questions and provide you contextual information, freeing up humans to do more high value work; do things like create websites or small applications based on a few sentence description that the user inputs; create photo-realistic artwork based on the user entering a few words describing what they want; create outlines for ad campaigns, papers or even write stories or ad copy; analyze patterns of behavior to catch criminals; and even create formulas for new and exciting pharmaceutical medications. And this is just the start. We in are very early days in this process even though researchers, scientists and data engineers have been working on this for decades. In the long-term, we can expect that AI will be used to offload even more mundane or low-level tasks, automate monitoring of systems and, of course, bring us widespread adoption of the long promised self-driving vehicle.

Now that we have some understanding of what machine learning is, let’s talk a little bit about how these models are developed and how they work.

Machine learning basics

Sidebar: The term machine learning was actually coined way back in the 1950’s, which gives you an idea of just how long this whole process of developing so-called artificial intelligence has taken. What’s even more amazing is that wasn’t even the beginning of the groundwork for artificial intelligence. The roots of AI actually go all the way back to the early 1900’s. The biggest movement in AI didn’t really start to happen, though, until the 1950’s.

Machine learning is basically the process of inputting large amounts of data into machines (we’ll refer to these as computers going forward) and having those computers analyze that data for patterns which they can then turn around and use to make predictions when it is given a task or question relating to the data it has been given. This isn’t a one and done process. It is actually a very iterative process that usually requires several different phases and methods of machine learning. Initially, it might be use something called supervised machine learning which is where the computer receives labeled data such as pictures that are labeled as cat or dog or other things that have been classified or labeled by humans. This allows the computer to begin to recognize things. If you feed enough different labeled pictures of cats and dogs, it will start to be able to recognize or predict based on that information whether a picture that you show it is either a cat or dog. Obviously, this is a very time-consuming endeavor, but is really necessary to teach the model how to recognize basic things.

Unsupervised machine learning is where computers begin to be able to recognize patterns from unlabeled data. This could be anything such as data about your customers, marketing, stock prices, etc. Unsupervised machine learning then uses a technique known as clustering to segment this data to try to discern patterns. With clustering, the computer uses rules to determine the probability that a particular item should belong to a certain group or cluster.

Reinforcement learning is basically the feedback mechanism to tell the model whether the choice that it has made is correct or not. Again, this requires many iterations and quite a bit of human intervention along the way. Eventually, the model has enough data that it can begin to start evaluating its decisions and learn from its mistakes. This can also involve additional models that can act as a checkpoint for the model and provide feedback.

These models are all very complex and use probability and statistics to make their predictions and evaluations. One of the things to keep in mind with these models is that they are using data created by humans. As such, that data carries the biases of its human creators and can cause the models to behave in unintended ways, therefore, these models have to be continually monitored and tuned by humans to try to correct for these potential inherent biases.

We have just scratched the surface of what is involved in machine learning as this is an entire unto itself, but we laid a good foundation for you to begin to understand what is behind the Generative AI application that you may be using. In the next post, we will talk about neural networks and large language models.


Monday, July 24, 2023

My Leadership Philosophy

 

During a Zoom interview a couple of weeks ago, the interviewer asked me how my leadership style or approach might set me apart from others who may be interested in the position. I went about explaining my leadership approach, which I have basically used over the last fifteen years. I told the interviewer that I what I think that so many IT shops and leaders get wrong is being stuck in processes that have just become habits. So many of us in IT get bogged down by completing our daily, weekly or monthly checklists and tasks without ever turning a critical eye to those processes and tasks and questioning whether the processes still deliver the same value they did when they were established. For instance, are we asking ourselves when the last time this process was reviewed to make sure that it was necessary, at least in its current form, or whether something in the business has changed that could have impacted the process? Does a person really need to perform this task or can it be automated and alerts set up letting us know that the process has completed, or better yet, only alerting us when it fails to avoid alert fatigue? Are we looking at how to offload repetitive tasks in favor of doing higher value work or are we too locked into our processes to even ask those questions? I then explained that as a leader, my goal is to really do away with what I call the technician mentality in favor of a more analytical mentality. A technician typically completes tasks assigned to them and really doesn’t add any value to the tasks other than completing them. An analyst scrutinizes what they do and is constantly asking is there a better way or can we somehow derive more value. My focus as a leader is on the value, we as an IT organization bring to our customers and those we serve. “Keeping the lights on” is a necessity, but staring at the light switch to do it is not.

I was a little bit shocked by the reaction that I received from the interviewer. I expected questions digging further into how or even why I take this approach, but they really appeared uninterested in this approach and quickly moved on to the next question. Now, I realize that jobs at my level are not easy to come by these days, however, the reaction I received raised a red flag for me. I may be intuiting too much, but I what I took away from this reaction is that progressive, out-of-the-box thinking was not really what they were looking for, which totally goes against my philosophy of leadership. You see even as I was coming up through the ranks, I never ever really considered myself a manager. I always looked at myself more as a leader, even when I didn’t have a title because the way I look at it, a leader can be anyone and whether you are looked at as a leader doesn’t depend on your position or title on the org chart, but rather the value you bring to your team and your company and whether people look to you to help them or solve problems. To me, that value comes from always questioning, always looking to improve and always listening.

In my humble opinion, IT should be the department that is constantly evolving and changing. We are the keepers of the organization’s technology strategy and stack. Technology seems to be literally evolving right before our eyes these days and so if our IT departments aren’t evolving and changing as well, how can we expect to provide our customers valid counsel on what technologies the organization should be looking at? Many times, we as IT professionals are asked to come in and evaluate a business function or workflow and look for ways to streamline it and possibly use technology to assist our users in getting more done. How can we have any credibility in that role if we are not “eating our own dog food” so to speak and critically looking at our own processes? The phrase my teams have learned that I hate to hear above all else is “well, that is the way we have always done it!”

As I embark on the search for my next leadership position, I am quickly learning that not all organizations take this view of IT. It saddens me to think about what all these organizations may be missing out on, but it also has made me ask more questions upfront to assess whether the organization that I am looking at views IT from the same strategic lens that I do.

I appreciate you reading this far and know that this was probably a somewhat long-winded rant, but I would be curious to hear what all of you think on this subject.

Servant Leadership – My Four Principles



Servant leadership is a term that gets thrown around every once in a while. Unfortunately, depending on who you talk to, there can be a wide variety of definitions for this style of leadership. As someone who strives to incorporate this leadership style in my everyday interactions as a leader, let me define some principles that I use to guide me as leader. I want to state upfront that these principles are not entirely mine but are actually somewhat paraphrased from the Bible (with help from my pastor who helped crystalize for me what I was practicing). I use this as a guide for many things in my life and leadership is a very important one. As this is a leadership blog and not a theological one, I won’t go too far into the background on this (that being said, if you want more details, feel free to reach out to me), but I feel that some is necessary for context. These principles come from the book of Acts where Paul describes what a church leader should like. Since a church is not unlike any other organization, the factors that delineate a successful leader in the church should also be applicable to any other organization.

So, without further ado, let’s take a look at these leadership principles:

Principle One:

Equip your team to endure without you.

You read that right. Your team should be able to make it without you. The mark of a great leader is preparing your team, or at least some of those within your team, for leadership. While you are leading, you should be growing new leaders and should something happen to you or for you and you leave the organization, your team should be able to carry on. Likewise, you should be able to take vacations without your team needing to call you with questions constantly. This can also be summed up with one word – empowerment. Equip and empower your team to make decisions and lead without the need for your constant supervision.

Principle Two:

The leader must be an example to their team.

Everything you do should be considered a teaching or watching moment for your team. Your team looks to you for instruction and leadership, only part of which is verbal. A lot of what you teach your team is through your actions and interactions.

Principle Three:

The leader must be humble and love his people.

Okay, some people may gag on the word love, but as a leader you need to genuinely care about those you lead. You are responsible for their performance and growth. If you don’t care about those you lead, how can you effectively look out for their professional development? It is up to you to make decisions that impact the well-being of your team. Those decisions need to be made deliberately with care and yes, love for your team.

Showing genuine care for those in your stead can improve performance, morale and the overall growth of the team. If the leader shows the team that they care, this can then also allow the team to feel comfortable caring about each other and create a more cohesive team structure where everyone knows that everyone else on the team has their back and that they are supported.

Principle Four:

The leader must proclaim the truth even when that is unpopular or dangerous.

This principle kind of goes hand in hand with Principle Two. Part of the example you set should include you always standing for what is right and the truth. Once you allow dishonesty into your organization, corruption and decay follow. If your team can’t trust you or each other, what kind of team are they going to be and how are they ever going to accomplish anything worthwhile? This requires us to be intelligent and tactful about how we conduct ourselves.

So, there you have it. My four principles for servant leadership. I hope enjoyed reading this post and that it maybe sparked something in you.

Inaugural Post

Welcome to the inaugural blog post of my new blog site, Digital Leadership Innovations! My name is Tim Edwards and I am a healthcare Chief Information Officer. I am also a CPA and spent time as an internal auditor. Coming up through the technology ranks, I started out as Project Manager and switched to SQL Server DBA, a title that I held for many years at various levels, and then moved into management moving through the steps of supervisor, manager, director and eventually CIO.

On this blog site, I intend to post blogs from my experience on topics such as leadership, artificial intelligence, project management and other technology topics that I feel that there might be an interest in.

I hope you find this site educational and maybe even entertaining. Feel free to let me know how I am doing as you read my blogs.

Thanks for reading!

The Importance of Our Community Health Centers

With National Health Center Week just wrapping up a couple of weeks ago (August 3-9, 2025), I think it is timely to highlight the work and o...