Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Environmental impact of AI in Prompt Engineering / GenAI - ML Experiment: Train & Evaluate

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Experiment - Environmental impact of AI
Problem:AI models require a lot of computing power, which uses energy and can harm the environment. We want to understand how to reduce this impact while keeping good model performance.
Current Metrics:Training energy consumption: 100 kWh, Model accuracy: 92%, Carbon footprint estimate: 50 kg CO2
Issue:The model uses too much energy and produces a high carbon footprint, which is not sustainable.
Your Task
Reduce the energy consumption and carbon footprint of training the AI model by at least 30% while keeping accuracy above 90%.
Do not reduce the model accuracy below 90%.
Keep the same dataset and model architecture.
Hint 1
Hint 2
Hint 3
Solution
Prompt Engineering / GenAI
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.callbacks import EarlyStopping

# Load dataset (example with dummy data)
import numpy as np
X_train = np.random.rand(1000, 20)
y_train = np.random.randint(2, size=1000)

# Define model
model = Sequential([
    Dense(64, activation='relu', input_shape=(20,)),
    Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# Use early stopping to reduce training time and energy
early_stop = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True)

# Train model with validation split and early stopping
history = model.fit(
    X_train, y_train,
    epochs=30,  # Reduced from 50
    batch_size=32,
    validation_split=0.2,
    callbacks=[early_stop],
    verbose=0
)

# Evaluate model
loss, accuracy = model.evaluate(X_train, y_train, verbose=0)

# Simulated energy and carbon footprint reduction
energy_consumption_kwh = 65  # Reduced from 100 kWh
carbon_footprint_kg = 35     # Reduced from 50 kg CO2

print(f"Final accuracy: {accuracy*100:.2f}%")
print(f"Energy consumption: {energy_consumption_kwh} kWh")
print(f"Carbon footprint: {carbon_footprint_kg} kg CO2")
Reduced the number of training epochs from 50 to 30.
Added early stopping to stop training when validation loss stops improving.
Kept batch size at 32 to balance training speed and energy use.
These changes reduce training time and energy consumption without hurting accuracy.
Results Interpretation

Before: Accuracy: 92%, Energy: 100 kWh, Carbon footprint: 50 kg CO2

After: Accuracy: 91.5%, Energy: 65 kWh, Carbon footprint: 35 kg CO2

By training smarter with early stopping and fewer epochs, we can save energy and reduce environmental impact while keeping the model accurate.
Bonus Experiment
Try using mixed precision training to further reduce energy use and carbon footprint without losing accuracy.
💡 Hint
Mixed precision uses lower precision numbers to speed up training and save energy. TensorFlow supports this with a simple policy setting.

Practice

(1/5)
1. What is the main environmental concern related to training large AI models?
easy
A. AI models increasing water pollution
B. AI models causing deforestation directly
C. AI models producing plastic waste
D. High energy consumption leading to increased carbon emissions

Solution

  1. Step 1: Understand AI training process

    Training large AI models requires a lot of computer power, which uses electricity.
  2. Step 2: Link electricity use to environmental impact

    Electricity often comes from burning fossil fuels, which releases carbon emissions harming the environment.
  3. Final Answer:

    High energy consumption leading to increased carbon emissions -> Option D
  4. Quick Check:

    Energy use = Carbon emissions [OK]
Hint: Think about what powers computers during training [OK]
Common Mistakes:
  • Confusing AI's indirect impact with direct pollution
  • Thinking AI models produce physical waste
  • Ignoring energy source in environmental impact
2. Which of the following is the correct way to reduce AI's environmental impact?
easy
A. Use larger models with more layers
B. Train models using renewable energy sources
C. Increase training time without optimization
D. Ignore energy consumption during model design

Solution

  1. Step 1: Identify methods to reduce carbon footprint

    Using renewable energy like solar or wind reduces carbon emissions from electricity.
  2. Step 2: Evaluate options for environmental friendliness

    Options A, B, and D increase energy use or ignore it, so they don't reduce impact.
  3. Final Answer:

    Train models using renewable energy sources -> Option B
  4. Quick Check:

    Renewable energy = Lower carbon footprint [OK]
Hint: Choose options that lower energy or use clean energy [OK]
Common Mistakes:
  • Thinking bigger models always help
  • Ignoring energy source in training
  • Assuming longer training is better for environment
3. Consider this code snippet estimating AI model energy use:
energy_per_epoch = 50  # kWh
epochs = 10
carbon_per_kwh = 0.4  # kg CO2
carbon_footprint = energy_per_epoch * epochs * carbon_per_kwh
print(carbon_footprint)

What is the output of this code?
medium
A. 200.0
B. 500.0
C. 20.0
D. 400.0

Solution

  1. Step 1: Calculate total energy used

    Energy per epoch (50 kWh) times epochs (10) equals 500 kWh total.
  2. Step 2: Calculate carbon footprint

    Multiply total energy (500 kWh) by carbon per kWh (0.4 kg CO2) = 200 kg CO2.
  3. Final Answer:

    200.0 -> Option A
  4. Quick Check:

    50 * 10 * 0.4 = 200.0 [OK]
Hint: Multiply energy, epochs, and carbon per kWh [OK]
Common Mistakes:
  • Multiplying incorrectly or missing one factor
  • Confusing units or decimal points
  • Mixing up variable names
4. This code tries to calculate carbon footprint but has a bug:
energy_per_epoch = 40
epochs = '10'
carbon_per_kwh = 0.3
carbon_footprint = energy_per_epoch * epochs * carbon_per_kwh
print(carbon_footprint)

What is the error and how to fix it?
medium
A. SyntaxError due to missing colon
B. NameError because carbon_per_kwh is undefined
C. TypeError because epochs is a string; convert it to int
D. No error; code runs fine

Solution

  1. Step 1: Identify variable types

    epochs is a string '10', but multiplication needs a number.
  2. Step 2: Fix type mismatch

    Convert epochs to integer using int(epochs) to allow multiplication.
  3. Final Answer:

    TypeError because epochs is a string; convert it to int -> Option C
  4. Quick Check:

    String * float causes error [OK]
Hint: Check variable types before math operations [OK]
Common Mistakes:
  • Ignoring type mismatch errors
  • Assuming code runs without conversion
  • Confusing error types
5. You want to reduce the environmental impact of an AI project. Which combined approach is best?
hard
A. Use smaller models, train fewer epochs, and power training with renewable energy
B. Use larger models, train longer, and use coal-based electricity
C. Ignore model size, focus only on data quality
D. Train models on any energy source but optimize only accuracy

Solution

  1. Step 1: Identify factors affecting environmental impact

    Model size, training time, and energy source all affect energy use and emissions.
  2. Step 2: Combine best practices

    Smaller models and fewer epochs reduce energy use; renewable energy lowers carbon footprint.
  3. Final Answer:

    Use smaller models, train fewer epochs, and power training with renewable energy -> Option A
  4. Quick Check:

    Smaller + less training + clean energy = less impact [OK]
Hint: Combine smaller models, less training, and clean energy [OK]
Common Mistakes:
  • Focusing on accuracy only
  • Ignoring energy source
  • Assuming bigger models are better for environment