Home Knowledge Base Feature Flags for ML Systems

Feature Flags for ML Systems

What are Feature Flags? Toggles that enable/disable features at runtime without deploying new code, essential for ML experimentation and gradual rollouts.

Use Cases for ML

Use CaseExample
Model A/B testingToggle between model versions
Gradual rolloutEnable new model for 10% users
Kill switchDisable failing model instantly
ExperimentationTest new prompts or parameters

Implementation

Simple Feature Flags

import json

class FeatureFlags:
    def __init__(self, config_path):
        with open(config_path) as f:
            self.flags = json.load(f)

    def is_enabled(self, flag_name, user_id=None, default=False):
        flag = self.flags.get(flag_name)
        if not flag:
            return default

        if flag.get("enabled_for_all"):
            return True

        if user_id and flag.get("enabled_users"):
            return user_id in flag["enabled_users"]

        if flag.get("percentage"):
            return hash(user_id) % 100 < flag["percentage"]

        return flag.get("enabled", default)

LaunchDarkly/Unleash Style

from unleash_client import UnleashClient

client = UnleashClient(url="https://unleash.example.com")
client.initialize_client()

def get_model(user_context):
    if client.is_enabled("use_gpt4", context=user_context):
        return "gpt-4"
    return "gpt-3.5-turbo"

ML Experimentation

class MLExperiment:
    def __init__(self, flags):
        self.flags = flags

    def get_model_config(self, user_id):
        return {
            "model": "gpt-4" if self.flags.is_enabled("gpt4", user_id) else "gpt-3.5",
            "temperature": 0.7 if self.flags.is_enabled("high_temp", user_id) else 0.3,
            "prompt_version": self.flags.get_variant("prompt", user_id, default="v1"),
        }

Feature Flag Platforms

PlatformFeatures
LaunchDarklyEnterprise, ML experiments
UnleashOpen source
SplitAnalytics integration
GrowthBookA/B testing focus
ConfigCatSimple, affordable

Best Practices

feature flagtoggleexperiment

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.