close

Sustainability

ArticlesFeaturedGenerative AIGreen SoftwareSustainability

Building Responsible and Sustainable AI Applications

In an era where artificial intelligence (AI) touches nearly every facet of our lives—from personalized news digests to advanced medical diagnostics—the promise of AI is undeniable. However, this technological revolution also brings with it ethical and environmental challenges that cannot be overlooked. As AI continues to evolve, it is imperative that we harness its capabilities responsibly and sustainably.

Understanding the Landscape of AI

Artificial intelligence is not just a tool of convenience; it is a profound innovation reshaping how we interact with the world. But with great power comes great responsibility. The ethical implications of AI are vast and complex, ranging from privacy concerns to biases in decision-making processes. Moreover, the environmental impact of AI systems, particularly in terms of energy consumption, is a growing concern.

The Essential Guide: “Foundations of Responsible and Sustainable AI: A Beginner’s Handbook”

For those keen on diving deeper into building AI systems that are both ethical and environmentally friendly, “Foundations of Responsible and Sustainable AI: A Beginner’s Handbook” serves as an indispensable resource. This book is tailored for a diverse audience, including developers, business leaders, policymakers, and AI enthusiasts. It provides a comprehensive guide on integrating ethical considerations and sustainability from the outset of AI development.

What You Will Learn

The book covers a wide array of topics critical for anyone looking to implement responsible AI practices:

  • Ethical Foundations: Delve into core ethical principles that ensure AI systems are fair, transparent, accountable, and private.
  • Generative AI: Explore the unique challenges and opportunities in developing generative AI applications ethically.
  • Environmental Impact: Understand the energy demands of AI systems and learn how to mitigate their environmental footprint.
  • Practical Guidelines: From writing energy-efficient code to navigating AI regulations, the book offers practical advice and real-world examples.

Get your copy of “Foundations of Responsible and Sustainable AI: A Beginner’s Handbook” today!

Here is the Table of Contents for the book:

  • Chapter 1: Introduction
    • What is Artificial Intelligence (AI)?
    • What is Machine Learning (ML)?
    • What is Generative AI?
    • Why Does Responsible AI Matter?
    • Summary
  • Chapter 2: Ethical Considerations in AI
    • Core Ethical Principles
    • AI Ethics in Different Cultural Contexts
    • Integrating Ethical Principles into the Machine Learning Workflow
    • Applying Ethical Principles to Real-World Use Cases
    • Summary
  • Chapter 3: Ethical Considerations in Generative AI
    • Workflow Models of Generative AI
    • Core Ethical Principles for Generative AI
    • Applying Ethical Principles to Generative AI Workflows
    • Applying Ethical Principles to Real-World Generative AI Use Cases
    • Summary
  • Chapter 4: Environmental Impact of AI
    • Energy Consumption of AI Systems
    • Lifecycle Analysis of AI Systems
    • Summary
  • Chapter 5: Sustainable Practices in AI Development and Deployment
    • Measuring Your AI Footprint
    • Writing Energy-Efficient Code
    • Maximizing Hardware Efficiency
    • Making Applications Carbon-Aware
    • Summary
  • Chapter 6: Regulations and Standards
    • Introduction to AI Regulations
    • European Union (EU) AI Act
    • NIST AI Risk Management Framework (AI RMF)
    • China’s AI Ethical Standards and Regulations
    • Standards for Responsible and Sustainable AI
    • Journey to AI Regulations and Standards
    • Summary
  • Chapter 7: Design First Approach for Building Responsible AI Applications
    • What is Design First Responsible AI?
    • Use Case: Responsible AI-Powered Medical Diagnosis System
    • Summary
  • Chapter 8: Tools and Frameworks for Responsible AI
    • Overview of Tools for Responsible AI
    • Choosing the Right Tools and Frameworks
    • Summary
  • Chapter 9: Future Trends and Innovations in Responsible AI
    • Advances in Ethical AI
    • Privacy-Preserving AI
    • Future Outlook on Responsible Generative AI
    • Future Outlook on Sustainable AI
    • Summary

Join the Movement Towards Ethical AI

As AI technologies continue to advance, it is crucial that they evolve in a way that aligns with our highest ideals and the needs of our planet. “Foundations of Responsible and Sustainable AI: A Beginner’s Handbook” provides the knowledge and tools needed to build AI systems that are not only innovative but also fair, transparent, accountable, and environmentally conscious.

Embark on this journey to harness the incredible potential of AI in ways that are beneficial for all. Let’s commit to making AI development responsible and sustainable.

Ready to Make a Difference?

Explore the possibilities and equip yourself with the necessary knowledge to lead in the era of responsible AI. Get your copy of “Foundations of Responsible and Sustainable AI: A Beginner’s Handbook” today!

Together, we can ensure that the future of AI is as bright and sustainable as the technology itself.

read more
ArticlesCloud ComputingFeaturedSustainability

Is moving to the cloud enough to deliver sustainability goals?

Organizations are entering the next evolution of intelligent, data-driven digital technology. As this happens, it’s becoming increasingly important for them to understand how their products and applications impact society and our planet’s environment.

Whatever stage an enterprise has reached on its cloud transformation journey – from infrastructure modernization and adopting hybrid cloud to moving toward a cloud-first approach and/or building a multi-cloud strategy – understanding how to integrate sustainability into the design, development and release management of cloud applications should be one of its core strategies for delivery of sustainable products.

Moving toward cloud adoption definitely helps to save energy and compute resources. But without a clear sustainability strategy and understanding of how to design and develop cloud applications with sustainability in mind, it may be impossible to realize and build sustainable applications effectively.

While designing and creating sustainable products is a vast topic, my focus here is to provide a point of view on how to design and deliver sustainable applications using cloud technology.

Building a sustainable cloud strategy

Building a sustainable cloud strategy is about how you design, develop and deliver energy-efficient cloud applications.

In my view, the strategy can be broken down into –

  • Unified Measurement of Carbon Emissions
  • Carbon-aware workloads
  • Leveraging serverless technology and managed services
  • Leverage cloud services responsibly
  • Data storage and lifecycle
  • Network, infrastructure, and edge computing

Unified Measurement of Carbon Emissions – Design for build once, deploy and measure anywhere

“Build once, deploy, and measure” is a set of design principles for making enterprise applications cloud-agnostic so that they can be deployed virtually on any cloud platform. The real value of this approach is developing software applications that can be measured consistently for carbon footprint (on any environment) and optimized where needed. Each software application can be measured independently or collectively as part of a larger application.

Enterprises should break down their applications into loosely coupled services, which can be packaged into containers, where functionalities are exposed as APIs. For communication between services (internally as well as externally), technologies like service mesh can be used to transparently address cross-cutting areas such as service telemetry, security, and API throttling by including the service mesh container (as a sidecar proxy pattern) along with service containers.

Enterprises can opt for either a managed Kubernetes service or the equivalent container-managed service for deploying, managing, and scaling containers. As part of the deployment, CPU and memory requirements can be defined for the container. The container-managed solution effectively manages workloads and compute resources based on actual usage.

Serverless technology can also be used (see Serverless section) to save compute resources based on specific use cases. Network design and data transfer also play an essential role (see Network section).

Runtime data (CPU, RAM, API latency, network transfer etc.) can then be aggregated across all these approaches to generate an application’s digital carbon footprint. The enterprise can use this value as the baseline and integrate the process as part of its CI/CD process to track changes in future development. ISO Standards like Software Carbon Intensity from Green Software Foundation can be used to calculate the carbon intensity of a software application, and the focus should be towards creating energy-efficient applications.

Once the enterprise has the measurement values, it can start optimizing its code by changing the implementation (or moving towards energy-efficient languages) and deploying new versions of containers – without changing the service contract and keeping existing applications unaltered. For new developments, they should evaluate what design patterns and optimization to adopt to deliver green code (I’ll be covering key aspects of green code in a future blog.)

This strategy not only helps an enterprise to measure and optimize sustainability impact uniformly, but it also enables it to be agile and cloud neutral, deploying applications on any cloud vendor based on their green cloud offerings.

Carbon-aware workloads

Carbon-aware, in simple words, is where and when to run workloads to leverage clean energy. Cloud vendors are becoming increasingly transparent and publishing regions that have lower carbon footprints. If, due to data and regulatory requirements, an enterprise cannot select a preferred low-carbon region, it can still have its development and pre-production workloads (which don’t run against actual client data) deployed in low-carbon regions. Workloads like batch jobs, data pipelines, stress/performance testing, or training machine-learning models are all candidates to run in lower carbon regions.

So, carefully planning where and when to run each of their application components (once containerized) is an important decision for enterprises to include in their CI/CD processes. Automated deployment pipelines can be built to factor in all of these parameters during application deployment.

Leverage serverless technology and managed services

Serverless is an important capability offered by all leading cloud vendors. In a serverless environment, the infrastructure and underlying resource optimization is handled by the cloud vendor. The application need not be running all the time, and based on invocations (request/response) or triggers, the appropriate level of compute is allocated to serve each request.

So when designing cloud applications, enterprises should strategize which components can leverage serverless technology – sending push notifications once a day, carrying out proof of technology work, development instances, data pipelines, AI training models or inference – and use compute instances effectively.

Managed services offered by the cloud vendors, provide you to configure, operate and scale the required services based on your requirements, leaving the management, patching, optimization, upgrades and scalability of the hardware environment to the cloud vendor.

The Managed Services and their infrastructure are shared across projects and provide better utilization across cloud projects. So, leveraging managed services minimizes your carbon impact as a shared responsibility, including the embodied carbon and lifecycle of infrastructure.

Leverage cloud services responsibly

Cloud offers infinite computing at your disposal and a host of services to enable application development. Understanding what services to use based on specific requirements, how to use and optimize those services effectively, and what infrastructure to use for running applications are all important criteria that can affect an application’s carbon footprint.

For example, training a machine-learning (ML) model or a deep-learning model typically consumes massive amounts of energy. However, training a model continuously does not necessarily improve its accuracy beyond a certain point (or achieve more than marginal improvement). So knowing when to draw the line between accuracy, error rate, and recall becomes important. Techniques like transfer learning should be adopted wherever applicable for both minimal training and predictions.

Second, the choice of hardware environment – CPU, GPU or TPU, and whether code has been optimized to leverage hardware libraries – must be considered during ML model development. For example, if an enterprise is running a GAN network for computation creativity where video and audio files are involved, a GPU or TPU should be a better alternative to train that model quickly and efficiently. Cloud vendors also offer energy-efficient VMs or specialized custom computer chips that need to be evaluated based on application requirements.

Another example? Pop-up notifications are delivered to consumers’ smartphones. It’s been estimated that billions of notifications are sent every day – however, it’s unclear what percentage of them are actually viewed and/or acted upon. Apart from compute resources, the network is being utilized to deliver these notifications. A priority must therefore be to adopt a design approach that ensures only relevant and personalized notifications are delivered. Applications should filter out irrelevant notifications and limit the dispatch of the same information to individual consumers over multiple channels (e.g. email, SMS, WhatsApp etc.)

Data storage and lifecycle

As the source of actionable insights, data is the key asset of every business. Today, we’re seeing breakneck growth in data volumes (structured and unstructured), with more and more being generated across blogs, social media, transactional systems, analytics data, devices, learning systems, medical journals, videos and so on.

Enterprises will also have accumulated huge quantities of historical data for their audit and compliance requirements. There is also a widespread perception that large diverse datasets are needed to build ML models, so data accumulation is a never-ending process.

Such large varieties and volumes of data mean that more compute resources are needed to build data pipelines and support downstream processing (eg creating an ML model or running analytics.)

To do the subject justice, a discussion of how to build a large, scalable, resource-optimized, green computing data-aware pipeline (based on various use cases) will require a separate blog. Briefly, however, the point is that without a clear and defined strategy for data storage and lifecycle management, enterprises would keep on accumulating data and training systems forever and significantly increase their carbon footprint.

In summary, sustainable development demands careful evaluation and implementation of all data practices – from labelling data to understanding what data is being used and what data should be archived/purged, how to do incremental backups, data relevancy, as well as energy-efficient storage options for long-term retention and the impact of creating ML models with limited representative data.

Network, infrastructure, and edge computing

Setting up a cloud infrastructure usually starts with implementing network connectivity. Different environments can be set up to isolate key resources like development and production.

The way a network infrastructure is set up and communicates can significantly impact how data is transferred between environments. Some cloud providers use their own internal fiber-optic cable by default to transfer data between virtual private clouds. Some require a VPC link to be created to route traffic internally without going through the public network.

Some cloud providers have also set up their own underwater fiber-optic cables, which conserve less energy and have less environmental impact (compared to copper-wire cables.) So, knowing these details can help enterprises to plan their infrastructure and connectivity components and leverage existing green technology.

If an enterprise plans to connect its on-premises environment to the cloud, it can evaluate the various connectivity options offered by cloud vendors to significantly reduce network latency while being energy efficient.

Not all applications need to reside on a public cloud and certain classes of applications (especially with 5G) require data and compute to be located closer to end-users/systems for ultra-low latency requirements (eg low-latency streaming video applications, 3D and virtualized experiences, industrial automation, smart cities, Mateverse etc.)

This is where edge cloud computing infrastructures are needed, with computing and data co-located closer to end-users or systems. With edge computing, network transfer and bandwidth between edge instances and devices/systems are also significantly reduced as compared to the cloud – because there’s no need to transfer and store data to the cloud, less processing power is needed and energy can be conserved.

While edge computing helps in areas around network and data storage, the key point is to create optimized applications that can run on resource-constrained systems and leverage existing physical servers for edge computing. Circularity and embodied emissions should also be factored in as part of your carbon emission reduction targets.

Because connected devices play a key role too, it’s not just about software optimization but also about choosing the right hardware so that the enterprise can leverage hardware optimization features during application development.

Also, during data transfer, appropriate compression techniques need to be adopted based on the data type and size being transferred.

Summary

To sum up, it’s now essential to incorporate sustainability into your core strategy for designing, developing and deploying cloud applications. In follow-on blogs in this series, I’ll deep dive into other design issues and the concept of green architecture patterns for sustainable cloud applications and the move towards greenOps.

read more