putilov_denis - stock.adobe.com
The field of AI has recently exploded as maturing algorithms and technologies take advantage of vast computing power and endless oceans of raw data. Perhaps the most interesting development has been the emergence of generative AI models, which synthesize data to produce new content in unprecedented ways.
Although generative AI has drawn attention from writers and artists, it also has exciting applications in IT and DevOps workflows. But despite generative AI's potential uses in software development and IT operations, there are drawbacks to consider for organizations looking to adopt generative AI.
What is generative AI and how does it work?
Prior to the rise of generative AI, many AI systems were intended for data analytics and data-driven decision-making, such as predictive analysis and business forecasting. Generative AI models go a step further, producing new content such as text, videos, code and images based on their training data in response to user queries.
Generative AI uses complex machine learning constructs known as neural networks to identify patterns and structures in the training data, then applies that learning to create its output. For example, a generative AI system trained on images of every known Picasso painting could produce a new picture in the style of Picasso.
An AI model is the actual algorithm that processes and analyzes the ingested data. Software applications can then use the AI model to produce output in response to user requests. For example, OpenAI's ChatGPT chatbot relies on a model known as GPT.
Generative adversarial networks vs. transformers
Generative adversarial networks (GANs) are the most common neural network framework used in generative AI. GANs have two component models: a generator and a discriminator.
The generator creates new data based on the traits, patterns and structures of the training data, which the discriminator then evaluates. This process can be either automatic, using a reward system that automatically reinforces the generator's behavior when its output is good enough to pass for the real thing, or manual, using feedback or ratings from human users to tell the AI whether its output was appropriate and correct.
In effect, the discriminator provides feedback to the generator that helps the generator create better output in the future -- a process known as tuning. It's this contention or adversarial behavior that gives generative AI the apparent ability to "learn" over time.
In addition to GANs, generative AI can also use transformers: programs or algorithms that process data sequences instead of individual data points. Because transformers can effectively translate natural language requests from users into actionable computer-based commands, they are often used to work with text.
Generative AI use cases in IT operations
Although applications such as ChatGPT and Dall-E have received attention in fields such as entertainment, finance, healthcare and manufacturing, generative AI is also making headway in IT operations.
Process automation. Generative AI can learn what a typical process or workflow entails and automate many repetitive business tasks, such as compliance assurance and data integrity. In some cases, generative AI might even be able to remediate such issues with minimal human intervention.
Risk assessment and management. Like other types of AI, generative AI can analyze and find patterns in enormous volumes of data gathered from across the IT infrastructure, then use that data to identify risks such as security vulnerabilities and impending system failures. Whereas predictive AI focuses on reporting, generative AI systems can suggest and even implement fixes for such issues.
Infrastructure optimization. Generative AI can be taught to observe an infrastructure running properly and identify potential improvements to system and network configurations, such as finding a bottleneck due to long system latencies. The AI system can troubleshoot the issue, offer suggestions for remediation and implement changes automatically.
Reporting and interfacing. Generative AI can synthesize text and formulate descriptions based on data, making it a natural addition to IT reporting platforms. Using text or voice prompts, IT administrators can make pointed natural language queries to a generative AI system. For example, instead of manually locating and changing a system configuration setting, an admin could ask the AI tool to perform the task as well as make the required updates in the organization's change management system.
Generative AI use cases in DevOps
Generative AI platforms such as ChatGPT are already known for their ability to produce text, including software code. Consequently, generative AI is expected to play a growing role in various stages of the DevOps lifecycle.
Code generation. Generative AI trained on examples of code can learn an enormous amount of programming techniques to help teams develop software. AI-assisted software development can include tasks ranging from simple code completion, such as suggesting how to finish a line or block of code, to creating entire routines or programs based on a user's detailed requests.
Test generation. Generative AI is adept at synthesizing data and producing text, so it's a natural choice for creating data and test cases as part of software testing. In addition, AI systems can execute those tests and report on the test results. A generative AI tool could even identify defects and offer suggestions to correct and optimize code based on test outcomes.
Bug remediation. Generative AI models can analyze human- and AI-created code for bugs and propose fixes. This can boost software quality by reducing errors and ensuring adherence to the organization's coding standards.
Automated deployment. If code passes testing, DevOps teams can automatically deploy it using generative AI as part of workflow or process automations. Generative AI tools can also optimize workload placement and connect instrumentation for workload monitoring and KPI data gathering.
Drawbacks of generative AI in DevOps and IT
Despite its potential and promise, generative AI currently has notable limitations for IT and DevOps that could present obstacles to adoption for many organizations.
Significant time and financial investments
Generative AI models require enormous amounts of training data. For enterprise adoption of generative AI, this could demand a major investment in data at both the initial model training stage and in ongoing -- often supervised -- retraining and refinement.
For example, an AI system intended to help run an IT infrastructure needs a thorough knowledge of the infrastructure and its configuration. This includes how systems look when running properly as well as a complete understanding of potential issues and what to do about them. Similarly, an AI system intended to help create code in an enterprise requires a comprehensive knowledge of code that the organization has written and validated for similar purposes.
Limited knowledge of AI systems
No matter how much input an AI receives during training, the system ultimately only knows what it's been taught. Models take time to assimilate changes, and a dynamic IT environment might move too quickly for the AI to respond in time to configuration changes or unexpected situations.
For IT ops workflows, this means AI systems need access to accurate historical and current data on the organization's IT environment. Similarly, on the software development and deployment side, a useful AI model requires data on up-to-date, well-tested coding processes and workflows.
Uncertainty around accuracy of AI output
A generative AI system can't evaluate the quality of its training data or the correctness of its responses based on context. This can raise issues related to performance, security and ethics that require human intervention.
For example, an AI tool responding to a problem in an organization's IT infrastructure might determine its response is correct if the problem disappears -- but the system's response, while functional, might not be compliant with regulatory requirements. Likewise, AI-produced code isn't always efficient, interoperable or even functional for its intended purpose.
Potential for copyright infringement
Especially for generative AI models trained on massive data sets, it can be difficult or impossible to tell to what extent model output is based on copyrighted or otherwise protected intellectual property. Consequently, organizations considering adopting generative AI risk running into legal issues and associated costs.
If a user asks an AI image generator such as Midjourney or Stable Diffusion to produce a mountain scene, some amount of the output might be based on copyrighted images used to train the AI. Even if this is deemed acceptable for internal or proof-of-concept use, selling the AI-generated image commercially could pose licensing problems.
It's a similar problem for code creation. If an AI code generator was trained on vast amounts of open source and commercial code, using its output could impose licensing constraints and other legal issues -- a problem that companies are only now starting to reckon with. It remains unclear what kind of licensing is required to use code to train an AI model, knowing that code could later inform model output.