Sesja 22: Przegląd certyfikacji i kluczowych obszarów
Microsoft AI-102: Azure AI Engineer Associate
🎯 Cele sesji
- Kompleksowy przegląd wymagań certyfikacji AI-102
- Analiza kluczowych domen egzaminacyjnych
- Identyfikacja mocnych i słabych stron uczestników
- Strategia przygotowania do egzaminu
🏆 Microsoft Certified: Azure AI Engineer Associate (AI-102)
Struktura egzaminu
Podstawowe informacje:
- Czas trwania: 150 minut
- Liczba pytań: 40-60 pytań
- Wynik do zaliczenia: 700/1000 punktów
- Format: Multiple choice, drag-and-drop, case studies
- Języki: Dostępny w języku angielskim (głównie) + tłumaczenia
Rozkład tematów egzaminowych
AI-102 EXAM DOMAINS:
1. PLAN AND MANAGE AZURE AI SOLUTION (15-20%)
- Wybór odpowiednich usług AI
- Planowanie i zarządzanie pojemnością
- Projektowanie rozwiązań dla wymagań pozafunkcjonalnych
- Implementacja Responsible AI
2. IMPLEMENT DECISION SUPPORT SOLUTIONS (20-25%)
- Tworzenie i zarządzanie Azure Cognitive Search
- Implementacja intelligent search solutions
- Tworzenie knowledge mining solutions
- Implementacja computer vision solutions
3. IMPLEMENT LANGUAGE SOLUTIONS (20-25%)
- Analiza tekstu z Azure AI Language
- Przetwarzanie mowy z Azure AI Speech
- Tłumaczenie z Azure AI Translator
- Implementacja language understanding
4. IMPLEMENT KNOWLEDGE MINING SOLUTIONS (15-20%)
- Implementacja Azure Cognitive Search
- Knowledge mining z enrichment pipeline
- Implementacja custom skills
5. IMPLEMENT GENERATIVE AI SOLUTIONS (20-25%)
- Wykorzystanie Azure OpenAI Service
- Optymalizacja generative AI
- Implementacja responsible generative AI
- Implementacja RAG (Retrieval Augmented Generation)
📚 Domain 1: Plan and Manage Azure AI Solution
Kluczowe kompetencje
Wybór odpowiednich usług AI
class AzureAIServiceSelector:
def __init__(self):
self.service_matrix = {
"text_analysis": {
"primary": "Azure AI Language",
"alternatives": ["Azure OpenAI", "Custom ML"],
"use_cases": ["sentiment analysis", "entity extraction", "key phrases"]
},
"image_analysis": {
"primary": "Azure Computer Vision",
"alternatives": ["Custom Vision", "Azure OpenAI GPT-4V"],
"use_cases": ["object detection", "OCR", "image classification"]
},
"speech_processing": {
"primary": "Azure AI Speech",
"alternatives": ["Azure OpenAI Whisper", "Custom ML"],
"use_cases": ["speech-to-text", "text-to-speech", "translation"]
},
"search_solutions": {
"primary": "Azure Cognitive Search",
"alternatives": ["Azure OpenAI", "Elasticsearch"],
"use_cases": ["enterprise search", "knowledge mining", "semantic search"]
},
"conversational_ai": {
"primary": "Azure OpenAI",
"alternatives": ["Azure Bot Service", "Language Understanding"],
"use_cases": ["chatbots", "virtual assistants", "content generation"]
}
}
def recommend_service(self, requirements):
"""Rekomendacja usługi na podstawie wymagań biznesowych"""
recommendations = []
for use_case in requirements.get("use_cases", []):
for service_category, details in self.service_matrix.items():
if use_case in details["use_cases"]:
recommendations.append({
"category": service_category,
"primary_service": details["primary"],
"alternatives": details["alternatives"],
"rationale": f"Best fit for {use_case}"
})
# Uwzględnij ograniczenia
if requirements.get("budget") == "low":
# Preferuj tańsze alternatywy
for rec in recommendations:
if "Custom ML" in rec["alternatives"]:
rec["recommendation"] = "Consider custom ML for cost optimization"
if requirements.get("latency") == "ultra_low":
# Preferuj edge solutions
for rec in recommendations:
rec["recommendation"] = "Consider edge deployment for latency requirements"
return recommendations
Capacity Planning
class AICapacityPlanner:
def __init__(self):
self.service_limits = {
"azure_openai": {
"tokens_per_minute": {
"standard": 10000,
"premium": 100000
},
"requests_per_minute": {
"standard": 60,
"premium": 600
}
},
"computer_vision": {
"transactions_per_second": 10,
"monthly_transactions": 1000000
},
"speech_services": {
"concurrent_requests": 20,
"monthly_hours": 5000
}
}
def calculate_required_capacity(self, usage_projections):
"""Obliczanie wymaganej pojemności"""
capacity_plan = {}
for service, projection in usage_projections.items():
if service in self.service_limits:
limits = self.service_limits[service]
# Peak usage analysis
peak_usage = projection.get("peak_usage", 0)
average_usage = projection.get("average_usage", 0)
# Calculate required units with safety margin
safety_margin = 1.5
if "tokens_per_minute" in limits:
required_tpm = peak_usage * safety_margin
if required_tpm <= limits["tokens_per_minute"]["standard"]:
tier = "standard"
else:
tier = "premium"
capacity_plan[service] = {
"recommended_tier": tier,
"capacity_units": 1,
"estimated_cost": self._calculate_cost(service, tier, projection),
"scalability_notes": "Auto-scaling available"
}
return capacity_plan
def design_responsible_ai_framework(self):
"""Framework Responsible AI"""
return {
"fairness": {
"bias_detection": "Automated bias testing in deployment pipeline",
"mitigation_strategies": "Data balancing, algorithmic adjustments",
"monitoring": "Continuous fairness metrics tracking"
},
"reliability": {
"availability_targets": "99.9% uptime SLA",
"error_handling": "Graceful degradation strategies",
"testing": "Comprehensive test automation"
},
"safety": {
"content_filtering": "Azure Content Safety integration",
"harmful_content": "Multi-layer content filtering",
"human_oversight": "Human-in-the-loop for critical decisions"
},
"privacy": {
"data_protection": "Encryption at rest and in transit",
"access_control": "Role-based access with principle of least privilege",
"audit_logging": "Comprehensive audit trail"
},
"transparency": {
"explainability": "Model interpretability tools",
"documentation": "Clear AI decision documentation",
"user_communication": "Transparent AI usage disclosure"
},
"accountability": {
"governance": "AI ethics committee oversight",
"incident_management": "Clear escalation procedures",
"continuous_improvement": "Regular assessment and updates"
}
}
🔍 Domain 2-5: Technical Deep Dive
Quick Reference Guide
Domain 2: Decision Support Solutions
Kluczowe usługi:
- Azure Cognitive Search - Enterprise search with AI enrichment
- Computer Vision - Image analysis, OCR, object detection
- Custom Vision - Custom image classification models
- Knowledge Mining - Insights extraction from unstructured content
Typowe scenariusze egzaminowe:
# Przykład: Intelligent search solution
search_scenario = {
"business_requirement": "Search across 10TB of documents with semantic understanding",
"technical_solution": {
"primary_service": "Azure Cognitive Search",
"enrichment_pipeline": "Built-in + custom cognitive skills",
"search_types": ["Full-text", "Semantic", "Vector"],
"scaling": "Auto-scaling based on query volume"
},
"implementation_steps": [
"1. Create search service and configure scaling",
"2. Define data sources and indexers",
"3. Create enrichment skillset with AI services",
"4. Design search index with appropriate field types",
"5. Implement search client application",
"6. Configure monitoring and optimization"
]
}
Domain 3: Language Solutions
Kluczowe usługi:
- Azure AI Language - Text analysis, sentiment, entities
- Azure AI Speech - Speech-to-text, text-to-speech
- Azure AI Translator - Text and document translation
- Language Understanding (LUIS) - Intent and entity recognition
Praktyczny przykład:
# Multilingual chatbot implementation
chatbot_architecture = {
"input_processing": {
"speech_input": "Azure AI Speech (STT)",
"text_input": "Direct text processing",
"language_detection": "Azure AI Language"
},
"understanding": {
"intent_recognition": "LUIS or Azure OpenAI",
"entity_extraction": "Azure AI Language",
"context_management": "Custom conversation state"
},
"response_generation": {
"content_generation": "Azure OpenAI",
"translation": "Azure AI Translator",
"speech_output": "Azure AI Speech (TTS)"
}
}
Domain 4: Knowledge Mining
Focus Areas:
- Cognitive Search indexing strategies
- Custom skills development
- Knowledge store implementation
- Search result optimization
Domain 5: Generative AI
Kluczowe kompetencje:
- Azure OpenAI Service deployment and configuration
- Prompt engineering and optimization
- RAG (Retrieval Augmented Generation) implementation
- Responsible AI safeguards
🎯 Self-Assessment i Gap Analysis
Arkusz oceny wiedzy
class SkillsAssessment:
def __init__(self):
self.skill_areas = {
"azure_ai_services": {
"weight": 0.25,
"sub_skills": [
"Service selection and configuration",
"Authentication and security",
"Scaling and performance optimization",
"Cost management and monitoring"
]
},
"search_and_knowledge": {
"weight": 0.20,
"sub_skills": [
"Cognitive Search implementation",
"Custom skills development",
"Knowledge mining pipelines",
"Search result optimization"
]
},
"language_processing": {
"weight": 0.20,
"sub_skills": [
"Text analysis and NLP",
"Speech services implementation",
"Translation services",
"Conversational AI development"
]
},
"computer_vision": {
"weight": 0.15,
"sub_skills": [
"Image analysis and classification",
"Object detection implementation",
"OCR and document processing",
"Custom vision model training"
]
},
"generative_ai": {
"weight": 0.20,
"sub_skills": [
"Azure OpenAI deployment",
"Prompt engineering",
"RAG implementation",
"Responsible AI practices"
]
}
}
def assess_readiness(self, self_ratings):
"""Ocena gotowości do egzaminu"""
total_weighted_score = 0
detailed_feedback = {}
for area, config in self.skill_areas.items():
area_ratings = self_ratings.get(area, {})
area_scores = []
for skill in config["sub_skills"]:
score = area_ratings.get(skill, 0) # 0-5 scale
area_scores.append(score)
area_average = sum(area_scores) / len(area_scores)
weighted_contribution = area_average * config["weight"]
total_weighted_score += weighted_contribution
detailed_feedback[area] = {
"average_score": area_average,
"weighted_contribution": weighted_contribution,
"readiness_level": self._get_readiness_level(area_average),
"improvement_needed": [
skill for skill, score in zip(config["sub_skills"], area_scores)
if score < 3.5
]
}
overall_readiness = self._get_overall_readiness(total_weighted_score)
return {
"overall_score": round(total_weighted_score, 2),
"overall_readiness": overall_readiness,
"detailed_feedback": detailed_feedback,
"study_recommendations": self._generate_study_plan(detailed_feedback)
}
def _get_readiness_level(self, score):
if score >= 4.0:
return "Excellent - Ready for exam"
elif score >= 3.0:
return "Good - Minor review needed"
elif score >= 2.0:
return "Fair - Significant study required"
else:
return "Poor - Intensive preparation needed"
def _generate_study_plan(self, detailed_feedback):
recommendations = []
for area, feedback in detailed_feedback.items():
if feedback["average_score"] < 3.5:
priority = "High" if feedback["average_score"] < 2.5 else "Medium"
recommendations.append({
"area": area,
"priority": priority,
"focus_topics": feedback["improvement_needed"],
"recommended_hours": 10 if priority == "High" else 5
})
return sorted(recommendations, key=lambda x: x["priority"], reverse=True)
✅ Zadania diagnostyczne
Self-Assessment Quiz (45 min)
Sekcja A: Service Selection (15 min)
Scenariusz: Firma chce zbudować system automatycznego kategoryzowania dokumentów prawnych z możliwością wyszukiwania w języku naturalnym.
Pytania:
- Jakie usługi Azure AI byłyby najbardziej odpowiednie?
- Jak zaprojektować architekturę dla 10,000 dokumentów dziennie?
- Jakie mechanizmy Responsible AI należy uwzględnić?
Sekcja B: Practical Implementation (20 min)
Implementacja fragmentu kodu dla wybranego scenariusza z każdego domaina.
Sekcja C: Troubleshooting (10 min)
Analiza typowych problemów i ich rozwiązań.
Gap Analysis Workshop (30 min)
-
Indywidualny self-assessment (15 min)
- Wypełnienie arkusza oceny umiejętności
- Identyfikacja mocnych i słabych stron
-
Peer discussion (10 min)
- Wymiana doświadczeń z innymi uczestnikami
- Identyfikacja wspólnych wyzwań
-
Personalized study plan (5 min)
- Stworzenie indywidualnego planu nauki
- Określenie priorytetów przygotowania
📈 Strategia przygotowania
Timeline do egzaminu
4 tygodnie przed egzaminem:
- Kompletny przegląd wszystkich domen
- Identyfikacja gaps w wiedzy
- Rozpoczęcie intensive practice
2 tygodnie przed egzaminem:
- Daily practice tests
- Focus na słabsze obszary
- Hands-on labs dla każdego domaina
1 tydzień przed egzaminem:
- Final review kluczowych konceptów
- Practice exam timing
- Mental i physical preparation
Dzień egzaminu:
- Rest i confidence
- Review exam policies
- Technical setup verification
Recommended Study Resources
Oficjalne materiały:
- Microsoft Learn learning paths dla AI-102
- Official Microsoft Practice Tests
- Azure AI Services documentation
Hands-on practice:
- Azure free account dla praktyki
- GitHub samples i tutorials
- Community-driven practice scenarios
Practice tests:
- MeasureUp practice exams
- Whizlabs AI-102 tests
- Custom scenarios based on real work
🎯 Next Steps
Po tej sesji uczestnicy będą mieli:
- Clear understanding wymagań egzaminowych
- Personal readiness assessment z gap analysis
- Tailored study plan na następne 4 tygodnie
- Confidence building przez structured preparation
Następna sesja: Szczegółowy przegląd najtrudniejszych obszarów i zaawansowane practice scenarios.