Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Why responsible AI development matters in Prompt Engineering / GenAI - Experiment to Prove It

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 - Why responsible AI development matters
Problem:You have built an AI model that makes decisions affecting people, but it sometimes shows bias and makes unfair predictions.
Current Metrics:Accuracy: 85%, Bias detected in gender and ethnicity groups, User complaints about unfair outcomes: 15%
Issue:The model is accurate but unfair. It treats some groups worse than others, which can harm trust and cause real problems.
Your Task
Reduce bias in the AI model so that predictions are fair across different groups, while keeping accuracy above 80%.
You cannot reduce the dataset size.
You must keep the model architecture the same.
You can only change training methods and data handling.
Hint 1
Hint 2
Hint 3
Solution
Prompt Engineering / GenAI
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Sample data loading and preprocessing
# X, y, sensitive_attr represent features, labels, and sensitive group (e.g., gender)
X = np.load('features.npy')
y = np.load('labels.npy')
sensitive_attr = np.load('gender.npy')

# Reweight samples to reduce bias
weights = np.ones(len(y))
# Increase weight for underrepresented group
weights[sensitive_attr == 1] *= 1.5

X_train, X_test, y_train, y_test, w_train, w_test, sensitive_train, sensitive_test = train_test_split(
    X, y, weights, sensitive_attr, test_size=0.2, random_state=42)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train, sample_weight=w_train)

preds = model.predict(X_test)
acc = accuracy_score(y_test, preds)

print(f'Accuracy after reweighting: {acc*100:.2f}%')

# Fairness metric: difference in positive prediction rates between groups
pos_rate_group0 = np.mean(preds[sensitive_test == 0])
pos_rate_group1 = np.mean(preds[sensitive_test == 1])
fairness_gap = abs(pos_rate_group0 - pos_rate_group1)
print(f'Fairness gap (difference in positive rates): {fairness_gap:.3f}')
Added sample weighting to give more importance to underrepresented groups during training.
Kept the same model architecture but changed training to use weights.
Measured fairness gap to check bias reduction.
Results Interpretation

Before: Accuracy 85%, Fairness gap 0.15, User complaints 15%

After: Accuracy 82%, Fairness gap 0.05, User complaints 5%

By adjusting training to consider fairness, we can reduce bias in AI models while keeping good accuracy. Responsible AI means making fair decisions that everyone can trust.
Bonus Experiment
Try using adversarial training to reduce bias instead of sample weighting.
💡 Hint
Train a model that predicts the target and another that tries to predict sensitive attributes from the model's output, then update to confuse the sensitive attribute predictor.

Practice

(1/5)
1. Why is responsible AI development important when AI systems affect people's lives?
easy
A. To increase the number of AI features quickly
B. To ensure AI decisions are fair and do not harm individuals
C. To make AI run faster and use less memory
D. To reduce the cost of AI hardware

Solution

  1. Step 1: Understand the impact of AI on people

    AI systems can affect people's lives by making decisions that influence jobs, loans, or healthcare.
  2. Step 2: Identify the goal of responsible AI

    Responsible AI aims to make sure these decisions are fair and do not cause harm.
  3. Final Answer:

    To ensure AI decisions are fair and do not harm individuals -> Option B
  4. Quick Check:

    Responsible AI = fairness and safety [OK]
Hint: Focus on fairness and safety when AI affects people [OK]
Common Mistakes:
  • Confusing performance improvements with responsibility
  • Ignoring ethical concerns in AI decisions
  • Thinking cost reduction is the main goal
2. Which of the following is a correct practice in responsible AI development?
easy
A. Ignoring data bias to speed up training
B. Hiding how AI makes decisions to protect secrets
C. Checking AI decisions for fairness and bias
D. Collecting as much personal data as possible without consent

Solution

  1. Step 1: Review responsible AI practices

    Responsible AI includes checking for bias and ensuring fairness in AI decisions.
  2. Step 2: Evaluate each option

    Only Checking AI decisions for fairness and bias aligns with responsible AI by checking fairness and bias.
  3. Final Answer:

    Checking AI decisions for fairness and bias -> Option C
  4. Quick Check:

    Responsible AI = check fairness [OK]
Hint: Look for fairness and bias checks in options [OK]
Common Mistakes:
  • Choosing options that ignore bias
  • Confusing transparency with secrecy
  • Ignoring consent in data collection
3. Consider this code snippet checking AI model fairness:
bias_score = 0.2
if bias_score < 0.3:
    print("Model is fair")
else:
    print("Model is biased")
What will be the output?
medium
A. No output
B. Model is biased
C. SyntaxError
D. Model is fair

Solution

  1. Step 1: Understand the condition in the code

    The code checks if bias_score (0.2) is less than 0.3.
  2. Step 2: Evaluate the condition and output

    Since 0.2 < 0.3 is true, it prints "Model is fair".
  3. Final Answer:

    Model is fair -> Option D
  4. Quick Check:

    0.2 < 0.3 = True [OK]
Hint: Compare bias_score with threshold to decide output [OK]
Common Mistakes:
  • Confusing less than with greater than
  • Thinking code has syntax errors
  • Ignoring the print statement
4. This code is meant to check if AI respects privacy by masking sensitive data:
def mask_data(data):
    return data.replace("*", "#")

print(mask_data("user*123"))
What is the error and how to fix it?
medium
A. No error; output is 'user#123'
B. Wrong replace characters; should replace digits, not '*'
C. Function should use .replace('*', '#') but code uses wrong syntax
D. Data masking requires encryption, not replace method

Solution

  1. Step 1: Analyze the mask_data function

    The function replaces '*' with '#', and the input string contains '*'.
  2. Step 2: Evaluate the output

    The output will be 'user#123', which is the expected masked output.
  3. Final Answer:

    No error; output is 'user#123' -> Option A
  4. Quick Check:

    Replace method works correctly [OK]
Hint: Check what characters need masking carefully [OK]
Common Mistakes:
  • Assuming no error because code runs
  • Confusing which characters to replace
  • Thinking replace method syntax is wrong
5. You are designing an AI system that recommends loans. Which responsible AI practice should you apply to avoid unfair bias?
hard
A. Test the model on diverse groups and explain decisions clearly
B. Ignore explainability to speed up deployment
C. Collect as much personal data as possible without consent
D. Train the model only on data from one group to simplify

Solution

  1. Step 1: Identify risks of bias in loan recommendation

    Using data from only one group or ignoring explainability can cause unfair bias.
  2. Step 2: Choose responsible AI practices

    Testing on diverse groups and explaining decisions helps detect and reduce bias.
  3. Final Answer:

    Test the model on diverse groups and explain decisions clearly -> Option A
  4. Quick Check:

    Diversity and explainability reduce bias [OK]
Hint: Use diverse data and clear explanations to avoid bias [OK]
Common Mistakes:
  • Using biased data sets
  • Skipping explainability for speed
  • Ignoring consent and privacy