When Your Risk Engine Needs a Reboot
Netflix recently published a detailed account of how it rebuilt its internal LLM serving platform. The post is technical, but the underlying ideas translate surprisingly well to the world of liability insurance. Both domains face the same fundamental problem: how do you keep a complex system fast, reliable, and compliant when the underlying components keep changing?
For liability insurers, the "components" are risk models, policy rules, and regulatory requirements. They change constantly. A model that priced commercial auto risk perfectly in 2023 may be obsolete by 2025. A regulatory update in California can force you to re-evaluate every policy in force. If your infrastructure can't adapt, you're either overcharging or undercharging—and both lead to trouble.
The Layered Architecture of Modern Liability Underwriting
Netflix's platform sits on top of a JVM service layer that handles routing, feature fetching, candidate generation, and logging. That's a lot of moving parts, but the key insight is that these functions stay stable while the models underneath change. The same principle applies to liability insurance.
Think of your underwriting workflow as a series of layers:
- Application intake—collecting data from agents, brokers, or online portals.
- Risk assessment—running that data through predictive models, actuarial tables, and rule-based checks.
- Pricing and quoting—turning risk scores into premiums.
- Policy issuance and compliance—making sure every policy meets state and federal requirements.
- Claims and renewals—handling changes over time.
The trick is to keep these layers decoupled. If you upgrade your risk model, you shouldn't have to rewrite your entire quoting system. Netflix achieves this by using a common service interface that hides the differences between CPU and GPU backends. For insurers, that interface might be a standardized API that all models—whether from an in-house team or a third-party vendor—must implement.
Small Models vs. Big Models: A Cost-Benefit Analysis
Netflix runs smaller models in-process on CPUs, while larger requests are delegated to a remote GPU cluster. That's a smart cost-saving move. In liability insurance, you have a similar split between simple and complex risks.
For a straightforward personal auto policy, a simple scoring model might be enough. You don't need a massive neural network to figure out that a young driver with multiple accidents is high-risk. But for a multinational corporation with complex product liability exposure, you may need a more sophisticated model that considers hundreds of variables, historical loss data, and even natural language text from legal documents.
Running every policy through the most expensive model is wasteful. Instead, you can triage at the intake layer. Use a cheap, fast model to flag low-risk applications that can be auto-approved. Send the rest to a more thorough—and expensive—underwriting process. This is exactly analogous to Netflix's CPU/GPU split.
Choosing Your Inference Engine: Triton and vLLM as Analogues for Actuarial Tools
Netflix chose Triton for model management and scheduling, and vLLM for the actual inference execution. They didn't try to build one monolithic system. They picked the best tool for each job. This is a lesson for liability insurers who often get stuck with legacy actuarial software that tries to do everything.
Consider separating your actuarial calculation engine from your policy administration system. The calculation engine handles the math—loss ratios, frequency-severity distributions, and so on. The policy admin system handles the workflow—applications, renewals, endorsements. By keeping them separate, you can update your calculations without disrupting the entire workflow.
But beware of version compatibility issues. Netflix found that mismatched Triton and vLLM versions could cause deployments to fail. They now test and pin compatible versions together. For insurers, this means you should have a rigorous versioning strategy for your actuarial models and the software that runs them. Don't let a model update break your quoting API because the underlying library changed.
Constrained Decoding: Enforcing Regulatory Compliance in Real Time
One of the most interesting parts of Netflix's post is their discussion of constrained decoding. This is a technique that forces a language model to generate only tokens that satisfy a specific format, like valid JSON. In liability insurance, you have a similar need: policies must comply with state regulations, and those regulations often dictate specific language or require certain disclosures.
Imagine you're building an AI-powered system that drafts policy language. Without constraints, the AI might omit a required exclusion or use a term that's not legally recognized. Constrained decoding can force the AI to include the exact wording mandated by state law. It's like having a compliance officer review every sentence as it's generated.
Netflix encountered a tricky issue: when the GPU scheduler preempted a request, the decoder's state could become out of sync with the token history. They had to add logic to detect changes and rebuild state before resuming generation. The insurance equivalent would be if a long-running policy review is interrupted—say, by a system upgrade or a data feed failure—and you need to make sure the final output still complies with all applicable rules. You can't just resume where you left off; you need to re-validate everything.
Deployment Strategies: Red-Black and Versioned Updates
Netflix uses two deployment strategies: Red-Black and Versioned. Red-Black means you run both the old and new versions simultaneously, then switch traffic over once the new version is stable. Versioned means you keep old versions running for a while so consumers can migrate at their own pace.
In liability insurance, these strategies are directly applicable to policy changes. Say you're updating your homeowners' policy forms to comply with a new state law. You can't just flip a switch and invalidate all existing policies. Instead, you'd use a versioned approach: keep the old forms available for renewals, but issue new policies with the updated forms. Policyholders can transition gradually, and your system can handle both versions side by side.
This is especially important when input or output schemas change. For example, if you start collecting new data points for cyber liability coverage, you need to make sure your models can handle policies that lack that data. Versioned deployment lets you test the new schema on a small subset of policies before rolling it out fully.
Gateways and Interfaces: The Uber Comparison
Netflix's architecture is one approach. Uber, as the source mentions, has a different one—a generative AI gateway that sits between applications and models, handling authentication, caching, observability, and routing. For liability insurers, this suggests you have options when it comes to integrating your risk models with your front-end systems.
You could build a centralized gateway that all applications use to access underwriting models. This gateway would handle things like authentication (who's allowed to run a quote?), caching (if the same risk is quoted twice, don't run the model again), and observability (track model performance and drift). This is particularly useful if you have multiple lines of business, each with its own underwriting tools.
The gateway can also provide a consistent interface to both internal and external models. Say you use an in-house model for auto liability but a third-party vendor for umbrella liability. A gateway can expose the same API to both, so your applications don't need to know where the model runs. This is a common pattern in insurtech, and it's a great way to avoid vendor lock-in.
Engineering the Invisible Work
Netflix's experience shows that a common interface doesn't eliminate the underlying work. You still have to deal with packaging, compatibility, constrained decoding, and deployment isolation. The same is true for liability insurance. Just because you have a standard API for your risk models doesn't mean you can ignore the differences between them.
You still need to test models against each other. You still need to monitor for drift. You still need to ensure that your compliance rules are enforced, no matter which model is running. The abstraction layer makes it easier to swap models, but it doesn't make the models themselves interchangeable.
For liability insurers, the takeaway is clear: invest in your infrastructure. Build a modular, versioned, and well-tested platform for your risk models. It may not be as glamorous as a flashy new AI model, but it's what makes the difference between a system that adapts and one that crumbles under the weight of change.
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!