Ordre 20260912T193441Z-7358817909. Steg 1 var ikke transformen, men å rette
roadmapens R13-gate og få den ratifisert. Gaten `grep -rl "Cosmo"
skills/*/references -> 0` var usann på to uavhengige måter:
1. Ordren fanget den første: 451 av forekomstene er Azure Cosmos DB, ekte
produktinnhold. Diskriminatoren er ikke bokstaven «s» — `Cosmos <norsk
substantiv>` er genitiv av personaen (`### Cosmos tonalitet`), mens
`Cosmos DB`/`CosmosClient`/`cosmos_ru` er produkt.
2. Denne økten fant den andre: 132 persona-forekomster ligger i prosa,
tabeller, dialog-replikker og proveniens-linjer. Heading-nøytralisering
kan ikke nå dem, så «0 persona» er uoppnåelig også under den ratifiserte
formen. Operatøren ratifiserte alternativ A: gaten speiler formen, og de
132 bokføres til R13b/R14.
Tre korreksjoner av premisser som sto i ordren og STATE:
«ca 320 produkt» -> 451 (case-sensitivt nett manglet 327 lowercase
TOC-ankre + 99 identifikatorer; sann nevner 1 638)
«169 headinger» -> 401. 169 var `^## For Cosmo`-prefikset (168) og var
internt inkonsistent med sin egen topp-variant (204)
«417 matcher ingen
populasjon» -> 417 er cosmo-headinger utenfor kodefences; briefens
nevner var reell hele tiden
Fence-bevissthet er målt skadelig, ikke nødvendig: begge toggle-regler er
gale på dette korpuset (naiv toggle skjuler en ekte heading i
chain-of-thought-prompting.md, CommonMark-regelen ubalanserer
service-level-documentation-dr.md). Fence-agnostisk deteksjon finner 401
heading-linjer i nøyaktig de samme 40 variantene som fence-bevisst finner
400 i — ingen kodeblokk-linje er byte-identisk til en persona-heading. Derfor
nøkles transformen på 40 enumererte heading-tekster og ignorerer fences. En
ukjent variant kaster; en slug-kollisjon kaster. Ingenting auto-fikses.
TOC-en regenereres ikke, den rettes kirurgisk: alle 327 persona-lenker hadde
lenketekst lik én av de 40 heading-tekstene og anker lik slugify av den
(327/327, 0 avvik), så heading og TOC-entry skrives i samme operasjon og
ingen mellomtilstand etterlater en død lenke.
Ratifisert målform: `For Cosmo`, `For Cosmo Skyberg` og `For arkitekten
(Cosmo)` konvergerer på `For arkitekten`. To filer kolliderte og er adjudisert
ved å lese dem, ikke ved regel.
Verifisering (alle 7 kriterier fra ordren):
G1 persona på heading-linjer 401 -> 0
G2 døde fragmentlenker 1 -> 1 (pre-eksisterende, unntatt)
G3 produkt-forekomster 451 -> 451; `Cosmos DB|Azure Cosmos` 308 = 308
de 3 kun-produkt-filene byte-identiske
nettet validert begge veier injisert persona feller G1; genitiv feller G1;
produkt-heading og de 3 filene passerer
hele diffen 802 heading-linjer + 654 TOC-linjer, ANNET = 0
linjeantall 728 lagt til = 728 slettet
suite 1120/1120 (1097 + 23 nye)
validate-plugin 250 PASS / 0 FAIL
stikkprøve 10 filer, alle 5 skills, inkl. de 3 mest
produkt-tunge (26/20/19) — kun heading+TOC
Utenfor scope, urørt: de 4 SKILL.md, de 23 commands, CLAUDE.md, README.md,
NOTICE.md, docs/ (alt R14).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
487 lines
18 KiB
Markdown
487 lines
18 KiB
Markdown
# Multi-Modal AI Evaluation and Metrics
|
|
|
|
**Last updated:** 2026-02
|
|
**Status:** GA
|
|
**Category:** Multi-Modal AI
|
|
**Type:** reference
|
|
|
|
---
|
|
|
|
## Innhold
|
|
|
|
- [Introduksjon](#introduksjon)
|
|
- [Kjernekomponentar](#kjernekomponentar)
|
|
- [Text Generation Metrics](#text-generation-metrics)
|
|
- [Image Quality og Relevance Metrics](#image-quality-og-relevance-metrics)
|
|
- [Cross-Modal Alignment Measurement](#cross-modal-alignment-measurement)
|
|
- [User Satisfaction og Business KPIs](#user-satisfaction-og-business-kpis)
|
|
- [Implementeringsmønstre](#implementeringsmønstre)
|
|
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
|
|
- [Beslutningsrammeverk](#beslutningsrammeverk)
|
|
- [For arkitekten](#for-arkitekten)
|
|
|
|
## Introduksjon
|
|
|
|
Evaluering av multi-modale AI-system er fundamentalt meir komplekst enn evaluering av rein tekst-AI. Når system kombinerer tekst, bilete, tale og video, treng ein metrikkrammeverk som dekker kvaliteten innanfor kvar modalitet, men også korleis modalitetane samhandlar — det som blir kalla cross-modal alignment. Microsoft Foundry og Azure OpenAI Evaluation API gir innebygd støtte for både NLP-baserte metrikktypar (BLEU, ROUGE, cosine similarity) og AI-assistert evaluering (groundedness, relevance, coherence, fluency).
|
|
|
|
For norsk offentleg sektor er systematisk evaluering ikkje berre god praksis — det er eit krav under EUs AI Act for høgrisiko AI-system. Evalueringsrammeverket må dokumentere nøyaktigheit, rettferd og pålitelegheit på ein måte som tilfredsstiller regulatoriske krav til transparens og etterprøvbarheit.
|
|
|
|
Microsoft Foundry tilbyr eit sentralisert evalueringsrammeverk der ein kan definere test-datasett, kjøre automatiserte evalueringar, og samanlikne resultat på tvers av modellar og versjonar. Dette er integrert med GenAIOps-pipelines for kontinuerleg evaluering i produksjon.
|
|
|
|
---
|
|
|
|
## Kjernekomponentar
|
|
|
|
| Komponent | Formål | Teknologi |
|
|
|-----------|--------|-----------|
|
|
| **Azure OpenAI Evaluations** | Innebygd evalueringsrammeverk | Azure OpenAI API |
|
|
| **Foundry Evaluation SDK** | Programmatisk evaluering | Microsoft Foundry SDK |
|
|
| **NLP Metrics** | BLEU, ROUGE, F1, GLEU, METEOR | Matematisk-baserte metrikktypar |
|
|
| **AI Quality (AI-assisted)** | Groundedness, Relevance, Coherence | GPT-basert dommar |
|
|
| **Risk & Safety Metrics** | Content safety, protected material | Innhaldsfiltrering |
|
|
| **Custom Evaluators** | Eigendefinerte evalueringspromptar | Custom prompt classifiers |
|
|
|
|
---
|
|
|
|
## Text Generation Metrics
|
|
|
|
### BLEU (BiLingual Evaluation Understudy)
|
|
|
|
BLEU er den mest brukte metrikken for maskinoversetting og tekstgenerering. Den evaluerer overlap mellom generert tekst og referansetekst på n-gram-nivå.
|
|
|
|
```python
|
|
from azure.ai.evaluation import BleuScoreEvaluator
|
|
|
|
bleu_evaluator = BleuScoreEvaluator()
|
|
|
|
result = bleu_evaluator(
|
|
response="Microsoft Foundry gir verktøy for å bygge AI-løysingar.",
|
|
ground_truth="Microsoft Foundry tilbyr verktøy for å utvikle AI-løysingar."
|
|
)
|
|
|
|
print(f"BLEU Score: {result['bleu_score']:.4f}")
|
|
# BLEU Score: 0.0-1.0 (høgare = betre)
|
|
```
|
|
|
|
**Eigenskapar:**
|
|
- Samanliknar n-gram (1-gram til 4-gram) mellom generert og referansetekst
|
|
- Range: 0.0 til 1.0
|
|
- Styrke: Korrelerer godt med menneskelig vurdering for oversetting
|
|
- Svakheit: Tek ikkje omsyn til meining, berre ordoverlap
|
|
|
|
### ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
|
|
|
|
ROUGE er designa for evaluering av automatisk oppsummering og fokuserer på recall — kor godt den genererte teksten dekker referanseteksten.
|
|
|
|
```python
|
|
from azure.ai.evaluation import RougeScoreEvaluator
|
|
|
|
rouge_evaluator = RougeScoreEvaluator(rouge_type="rougeL")
|
|
|
|
result = rouge_evaluator(
|
|
response="Systemet brukar Azure AI for dokumentanalyse og ekstraksjon.",
|
|
ground_truth="Azure AI-systemet analyserer dokument og ekstraherer strukturert data."
|
|
)
|
|
|
|
print(f"ROUGE-L Score: {result['rouge_score']:.4f}")
|
|
```
|
|
|
|
**ROUGE-variantar:**
|
|
|
|
| Variant | Beskriving | Beste bruk |
|
|
|---------|-----------|-----------|
|
|
| **ROUGE-1** | Overlap av enkeltord (unigrams) | Generell dekningssjekk |
|
|
| **ROUGE-2** | Overlap av ordpar (bigrams) | Frasekvalitet |
|
|
| **ROUGE-L** | Lengste felles subsekvens | Setningsstruktur |
|
|
| **ROUGE-3 til -5** | Overlap av 3-5 gram | Detaljert n-gram analyse |
|
|
|
|
### Cosine Similarity (Semantic)
|
|
|
|
Cosine similarity måler semantisk likskap mellom tekst-embeddings, uavhengig av ordval:
|
|
|
|
```python
|
|
from azure.ai.evaluation import CosineSimilarityEvaluator
|
|
|
|
# Krev ein embedding-modell
|
|
cosine_evaluator = CosineSimilarityEvaluator(
|
|
model_config={
|
|
"azure_endpoint": "https://<resource>.openai.azure.com/",
|
|
"api_key": "<api-key>",
|
|
"azure_deployment": "text-embedding-3-large"
|
|
}
|
|
)
|
|
|
|
result = cosine_evaluator(
|
|
response="Azure gir skybaserte AI-tenester for bedrifter.",
|
|
ground_truth="Microsoft tilbyr enterprise AI-løysingar i skya."
|
|
)
|
|
|
|
print(f"Cosine Similarity: {result['cosine_similarity']:.4f}")
|
|
```
|
|
|
|
**Støtta embedding-modellar:**
|
|
- `text-embedding-3-small`
|
|
- `text-embedding-3-large`
|
|
- `text-embedding-ada-002`
|
|
|
|
### METEOR og GLEU
|
|
|
|
```python
|
|
from azure.ai.evaluation import MeteorScoreEvaluator, GleuScoreEvaluator
|
|
|
|
# METEOR — ser på eksakte treff, stemming og synonym
|
|
meteor = MeteorScoreEvaluator()
|
|
meteor_result = meteor(
|
|
response="Modellen genererer nøyaktige svar.",
|
|
ground_truth="Modellen produserer presise svar."
|
|
)
|
|
|
|
# GLEU — Google BLEU-variant, betre for korte tekstar
|
|
gleu = GleuScoreEvaluator()
|
|
gleu_result = gleu(
|
|
response="Azure AI er kraftig.",
|
|
ground_truth="Azure AI er svært kraftig."
|
|
)
|
|
```
|
|
|
|
### Val av tekstmetrikk per brukscase
|
|
|
|
| Brukscase | Primær metrikk | Sekundær metrikk |
|
|
|-----------|---------------|-----------------|
|
|
| Maskinoversetting | BLEU | METEOR |
|
|
| Oppsummering | ROUGE-L | BLEU, BERTScore |
|
|
| Klassifisering | Precision, Recall, F1 | Accuracy |
|
|
| RAG (retrieval) | Groundedness | Relevance, Coherence |
|
|
| Fri-form tekstgenerering | Cosine Similarity | Fluency, GPT Similarity |
|
|
|
|
---
|
|
|
|
## Image Quality og Relevance Metrics
|
|
|
|
### AI-assistert bildeevaluering
|
|
|
|
For evaluering av bilete-relaterte oppgåver (image captioning, VQA, bileteforståing) brukar ein GPT-4o som dommar:
|
|
|
|
```python
|
|
from openai import AzureOpenAI
|
|
|
|
def evaluate_image_caption(image_url, generated_caption, reference_caption):
|
|
"""Evaluer kvaliteten på ein AI-generert bilettekst."""
|
|
|
|
client = AzureOpenAI(
|
|
azure_endpoint="https://<resource>.openai.azure.com/",
|
|
api_key="<api-key>",
|
|
api_version="2024-08-01-preview"
|
|
)
|
|
|
|
response = client.chat.completions.create(
|
|
model="gpt-4o",
|
|
messages=[
|
|
{
|
|
"role": "system",
|
|
"content": """Evaluer kvaliteten på ein bilettekst på ein skala frå 1-5:
|
|
1: Feil — beskriv ikkje biletet
|
|
2: Delvis rett — nokon element er korrekte
|
|
3: Akseptabel — hovudelement er beskrivne
|
|
4: God — nøyaktig og informativ
|
|
5: Utmerka — presis, informativ og naturleg
|
|
|
|
Returner JSON: {"score": X, "begrunnelse": "..."}"""
|
|
},
|
|
{
|
|
"role": "user",
|
|
"content": [
|
|
{"type": "image_url", "image_url": {"url": image_url}},
|
|
{
|
|
"type": "text",
|
|
"text": (
|
|
f"Generert bilettekst: {generated_caption}\n"
|
|
f"Referanse: {reference_caption}\n\n"
|
|
f"Evaluer den genererte biletteksten."
|
|
)
|
|
}
|
|
]
|
|
}
|
|
],
|
|
response_format={"type": "json_object"},
|
|
max_tokens=200
|
|
)
|
|
|
|
return response.choices[0].message.content
|
|
```
|
|
|
|
### Multimodal Embeddings for bildeliksskap
|
|
|
|
Azure AI Vision sin multimodal embedding API muliggjer vektorbasert samanlikning mellom bilete og tekst:
|
|
|
|
```python
|
|
import requests
|
|
|
|
def compute_image_text_similarity(image_url, text_query):
|
|
"""Berekn similarity mellom bilete og tekst via multimodal embeddings."""
|
|
|
|
endpoint = "https://<resource>.cognitiveservices.azure.com/"
|
|
|
|
# Vektoriser biletet
|
|
image_response = requests.post(
|
|
f"{endpoint}/computervision/retrieval:vectorizeImage",
|
|
params={"api-version": "2024-02-01", "model-version": "2023-04-15"},
|
|
headers={
|
|
"Ocp-Apim-Subscription-Key": "<api-key>",
|
|
"Content-Type": "application/json"
|
|
},
|
|
json={"url": image_url}
|
|
)
|
|
image_vector = image_response.json()["vector"]
|
|
|
|
# Vektoriser teksten
|
|
text_response = requests.post(
|
|
f"{endpoint}/computervision/retrieval:vectorizeText",
|
|
params={"api-version": "2024-02-01", "model-version": "2023-04-15"},
|
|
headers={
|
|
"Ocp-Apim-Subscription-Key": "<api-key>",
|
|
"Content-Type": "application/json"
|
|
},
|
|
json={"text": text_query}
|
|
)
|
|
text_vector = text_response.json()["vector"]
|
|
|
|
# Cosine similarity
|
|
similarity = cosine_similarity(image_vector, text_vector)
|
|
return similarity
|
|
```
|
|
|
|
---
|
|
|
|
## Cross-Modal Alignment Measurement
|
|
|
|
### Alignment mellom modalitetar
|
|
|
|
Cross-modal alignment måler kor godt ulike modalitetar (tekst, bilete, audio) samsvarar i eit multi-modal system:
|
|
|
|
```python
|
|
class CrossModalEvaluator:
|
|
"""Evaluerer alignment mellom modalitetar."""
|
|
|
|
def __init__(self, openai_client, vision_client):
|
|
self.openai = openai_client
|
|
self.vision = vision_client
|
|
|
|
def evaluate_text_image_alignment(self, text, image_url):
|
|
"""Evaluer om tekst og bilete formidlar same informasjon."""
|
|
|
|
# Generer bilettekst frå biletet
|
|
image_caption = self.generate_caption(image_url)
|
|
|
|
# Berekn semantisk likskap mellom tekst og bilettekst
|
|
text_embedding = self.embed_text(text)
|
|
caption_embedding = self.embed_text(image_caption)
|
|
similarity = cosine_similarity(text_embedding, caption_embedding)
|
|
|
|
# AI-assistert alignment-vurdering
|
|
alignment_result = self.openai.chat.completions.create(
|
|
model="gpt-4o",
|
|
messages=[
|
|
{
|
|
"role": "system",
|
|
"content": "Vurder om teksten og biletet formidlar same bodskap."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"content": [
|
|
{"type": "text", "text": f"Tekst: {text}"},
|
|
{"type": "image_url", "image_url": {"url": image_url}},
|
|
{"type": "text", "text": "Er tekst og bilete aligna? Score 1-5."}
|
|
]
|
|
}
|
|
]
|
|
)
|
|
|
|
return {
|
|
"semantic_similarity": similarity,
|
|
"ai_alignment_score": alignment_result.choices[0].message.content,
|
|
"image_caption": image_caption
|
|
}
|
|
|
|
def evaluate_audio_text_alignment(self, audio_transcript, reference_text):
|
|
"""Evaluer alignment mellom transkribert audio og referansetekst."""
|
|
|
|
# Word Error Rate (WER) for tale-til-tekst
|
|
wer = self.compute_wer(audio_transcript, reference_text)
|
|
|
|
# Semantisk likskap (handterer ulikt ordval)
|
|
similarity = self.compute_cosine_similarity(audio_transcript, reference_text)
|
|
|
|
return {
|
|
"word_error_rate": wer,
|
|
"semantic_similarity": similarity,
|
|
"alignment_quality": "god" if wer < 0.15 and similarity > 0.85 else "treng forbetring"
|
|
}
|
|
```
|
|
|
|
### Evaluation Dashboard
|
|
|
|
```python
|
|
def create_evaluation_report(eval_results):
|
|
"""Generer ein evalueringsrapport for multi-modal system."""
|
|
|
|
report = {
|
|
"modell": eval_results["model_name"],
|
|
"dato": eval_results["evaluation_date"],
|
|
"tekstkvalitet": {
|
|
"bleu": eval_results["bleu_score"],
|
|
"rouge_l": eval_results["rouge_l_score"],
|
|
"cosine_similarity": eval_results["cosine_score"]
|
|
},
|
|
"bildekvalitet": {
|
|
"caption_accuracy": eval_results["caption_score"],
|
|
"image_text_alignment": eval_results["alignment_score"]
|
|
},
|
|
"audiokvalitet": {
|
|
"word_error_rate": eval_results["wer"],
|
|
"speaker_accuracy": eval_results["speaker_accuracy"]
|
|
},
|
|
"cross_modal": {
|
|
"text_image_alignment": eval_results["text_image_alignment"],
|
|
"audio_text_alignment": eval_results["audio_text_alignment"]
|
|
},
|
|
"samla_score": compute_weighted_score(eval_results)
|
|
}
|
|
|
|
return report
|
|
```
|
|
|
|
---
|
|
|
|
## User Satisfaction og Business KPIs
|
|
|
|
### Task Completion Rate
|
|
|
|
```python
|
|
def measure_task_completion(interactions):
|
|
"""Mål brukartilfredsheit via oppgåvegjennomføring."""
|
|
|
|
metrics = {
|
|
"total_interactions": len(interactions),
|
|
"successful_completions": 0,
|
|
"partial_completions": 0,
|
|
"failures": 0,
|
|
"avg_turns_to_completion": 0,
|
|
"avg_response_time_ms": 0
|
|
}
|
|
|
|
for interaction in interactions:
|
|
if interaction["outcome"] == "success":
|
|
metrics["successful_completions"] += 1
|
|
elif interaction["outcome"] == "partial":
|
|
metrics["partial_completions"] += 1
|
|
else:
|
|
metrics["failures"] += 1
|
|
|
|
metrics["task_completion_rate"] = (
|
|
metrics["successful_completions"] / metrics["total_interactions"] * 100
|
|
)
|
|
|
|
return metrics
|
|
```
|
|
|
|
### Business-relevante KPIs for multi-modal AI
|
|
|
|
| KPI | Beskriving | Målmetode |
|
|
|-----|-----------|-----------|
|
|
| **Task Completion Rate** | Andel vellykka oppgåver | Logging + brukarfeedback |
|
|
| **Time to Resolution** | Tid frå start til løysing | Tidsstempel-analyse |
|
|
| **User Satisfaction (CSAT)** | Brukartilfredsheit 1-5 | Post-interaksjon survey |
|
|
| **Automation Rate** | Andel heilautomatiserte oppgåver | Logging av eskaleringar |
|
|
| **Error Recovery Rate** | Kor ofte systemet retter eigne feil | Feillogging |
|
|
| **Cost per Interaction** | Total kostnad per brukarinteraksjon | Token-tracking + infra |
|
|
|
|
### Foundry Evaluation Pipeline
|
|
|
|
```python
|
|
from azure.ai.evaluation import evaluate
|
|
|
|
# Batch-evaluering via Foundry SDK
|
|
results = evaluate(
|
|
evaluation_name="multi-modal-eval-v2",
|
|
data="eval_dataset.jsonl",
|
|
evaluators={
|
|
"bleu": BleuScoreEvaluator(),
|
|
"rouge": RougeScoreEvaluator(rouge_type="rougeL"),
|
|
"cosine": CosineSimilarityEvaluator(model_config=embedding_config),
|
|
"groundedness": GroundednessEvaluator(model_config=judge_config),
|
|
"relevance": RelevanceEvaluator(model_config=judge_config),
|
|
"coherence": CoherenceEvaluator(model_config=judge_config),
|
|
"fluency": FluencyEvaluator(model_config=judge_config)
|
|
},
|
|
output_path="eval_results/"
|
|
)
|
|
|
|
# Samanlikn med tidlegare evaluering
|
|
print(f"BLEU delta: {results['bleu'] - previous_results['bleu']:+.4f}")
|
|
print(f"ROUGE-L delta: {results['rouge'] - previous_results['rouge']:+.4f}")
|
|
```
|
|
|
|
---
|
|
|
|
## Implementeringsmønstre
|
|
|
|
### Continuous Evaluation Pipeline
|
|
|
|
```
|
|
Code Change → Build → Deploy → Evaluate → Gate → Promote
|
|
|
|
|
├── NLP Metrics (BLEU, ROUGE)
|
|
├── AI Quality (Groundedness, Relevance)
|
|
├── Safety Metrics
|
|
└── Business KPIs
|
|
```
|
|
|
|
### A/B Testing for multimodal system
|
|
|
|
1. **Definer hypotese** — "GPT-4o gir betre bilettekstar enn Image Analysis"
|
|
2. **Randomiser** — 50/50 trafikkfordeling
|
|
3. **Evaluer** — Same metrikk-suite på begge variantar
|
|
4. **Statistisk test** — Signifikanstest med tilstrekkeleg samplestorleik
|
|
|
|
---
|
|
|
|
## Norsk offentleg sektor
|
|
|
|
### AI Act-krav til evaluering
|
|
|
|
| Krav | Implementering |
|
|
|------|---------------|
|
|
| **Artikkel 9: Risikostyring** | Dokumenterte evalueringsresultat for alle modellar |
|
|
| **Artikkel 10: Data governance** | Evalueringsdatasett med kjend kvalitet |
|
|
| **Artikkel 13: Transparens** | Publiserte metrikkresultat for høgrisiko-system |
|
|
| **Artikkel 15: Nøyaktigheit** | Baseline-metrikktypar med definerte tersklar |
|
|
|
|
### Norsk kontekst
|
|
|
|
- **Datatilsynet** tilrår systematisk testing av AI-system før produksjon
|
|
- **Digdir sin veiledar for bruk av KI** krev dokumentert evaluering
|
|
- **Norsk bokmål/nynorsk** treng eigne evalueringsdatasett — ikkje bruk engelske benchmarks åleine
|
|
|
|
---
|
|
|
|
## Beslutningsrammeverk
|
|
|
|
| Scenario | Metrikk | Begrunnelse |
|
|
|----------|---------|-------------|
|
|
| Maskinoversetting | BLEU + METEOR | Industristandard for oversetting |
|
|
| Oppsummering | ROUGE-L + BERTScore | Dekking + semantisk likskap |
|
|
| RAG-system | Groundedness + Relevance + Coherence | Heilskapleg kvalitetsvurdering |
|
|
| Bilettekst | GPT-4o Judge + Cosine | AI-assistert + semantisk |
|
|
| Talegjenkjenning | WER + SER | Word/Sentence Error Rate |
|
|
| Produksjonssystem | Business KPIs + NLP metrics | Kombinert kvalitet og verdi |
|
|
|
|
---
|
|
|
|
## For arkitekten
|
|
|
|
- **Azure OpenAI Evaluations** tilbyr BLEU, ROUGE, GLEU, METEOR og Cosine Similarity som innebygde NLP-metrikktypar — bruk Foundry SDK for batch-evaluering med `evaluate()` API-et
|
|
- **AI-assistert evaluering** (Groundedness, Relevance, Coherence, Fluency) krev ein GPT-modell som dommar — dette er meir robust enn NLP-metrikktypar for open-ended generering, men krev ekstra token-kostnad
|
|
- **Cross-modal alignment** er den mest undervurderte evalueringsdimensjonen — mål om tekst, bilete og audio faktisk formidlar same bodskap, ikkje berre individuell kvalitet
|
|
- **AI Act krev dokumentert evaluering** for høgrisiko AI-system — etabler automatiserte evalueringspipelines med definerte tersklar og versjonert metrikk-historie
|
|
- **Norske evalueringsdatasett** er mangelvare — invester i domene-spesifikke testdatasett på bokmål/nynorsk for å unngå systematisk bias frå engelskspråklege benchmarks
|