算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
run-ab-test-models【设计与创意】Design and execute A/B tests for ML models in production using traffic splitting, statistical significance testing, and canary/shadow deployment strategies. Measure performance differences and make data-driven decisions about model rollout. Use when validating a new model version before full rollout, comparing candidate models trained with different …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
詳備之配置與模板,參 Extended Examples。
於生產之模型,分流量、行統計之析,以行受控之試。
定試之參、成之準、統計之求。
# ab_test/experiment_config.py
from dataclasses import dataclass
from typing import List, Dict
import numpy as np
from scipy.stats import norm
@dataclass
# ... (see EXAMPLES.md for complete implementation)
得:試之配有統計之確算樣本,常每變 5-10k 樣於 5-10% 之 MDE。
敗則:所求樣過大,則增流量之分、延試之時、或受較大之 MDE;驗基線估之確;或行序試以續察。
設路由之邏,隨機分請於諸模。
# ab_test/traffic_router.py
import hashlib
import random
from typing import Dict, Optional
from dataclasses import dataclass
import logging
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:用者之分一致,流量之分合所配,諸分皆記以析。
敗則:驗哈希之均(試以 10k user_id);user_id 跨請穩(非 session_id);日誌捕諸預測;於前 1000 請驗其分。
行挑戰者於並,而不影用者(影子模)。
# ab_test/shadow_deployment.py
import asyncio
from typing import Dict, Any
import logging
from concurrent.futures import ThreadPoolExecutor
import time
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:冠軍以常延供,挑戰者異步而記不阻,預測之差皆捕以析。
敗則:挑戰者超時宜短於冠軍 SLA 以免阻;挑戰者誤宜柔處而不影冠軍;察記憶之用(二模並載);可採樣(唯記 10% 影子預測)。
聚試之數,行統計之試。
# ab_test/analysis.py
import pandas as pd
import numpy as np
from scipy import stats
from typing import Dict, Tuple
import logging
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:統計試之果含 p 值、置信區、與明決(展/留/未決),常於 7-14 日後或樣達。
敗則:驗真標可得(或須延析);察樣比之失(SRM)示分配之誤;驗樣達;察初期之新奇/首因;若定期試慢,則考序試。
續察挑戰者不破安全之閾。
# ab_test/guardrails.py
import pandas as pd
import logging
from typing import Dict, List
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:護欄之違 5-15 分內察之,要閾破則自止試(延、誤),警送團隊。
敗則:驗護欄之閾合實(非過嚴);確監循環續行;驗 stop_experiment() 實更路由;試警之送渠。
依試果決是否展挑戰者。
# ab_test/rollout_decision.py
import logging
from typing import Dict
from dataclasses import dataclass
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:明決(全展/漸展、留冠軍、或延試),附其由與行項。
敗則:決不明,則行子群之析(依用群、時、設備);察交互之效;察業務之境(如 2% 之升值工程之費乎);諮利益相關者。
deploy-ml-model-serving — 模展之基與版控monitor-model-drift — 展後續察之效