Fine-tuning and Deploying LLMs for Customer Service Contact Centers

swisscom · Telecommunications · 2025 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: telecommunications customer-service contact centers

Swisscom needed LLM-driven contact-center dialogue that could personalize responses from customer history and service data while meeting voice-channel latency, peak-volume, lifecycle-control, and production-operability requirements.

Constraints:

Architecture

Swisscom built a fine-tuned contact-center LLM path around anonymized production-like data, synthetic prompt-completion generation from a larger teacher model, SageMaker training/evaluation pipelines, SageMaker Model Registry, and a SageMaker endpoint deployed from infrastructure-as-code. The runtime sits behind the customer-service dialogue application, uses customer/account context to generate tailored answers, and is monitored through CloudWatch and internal alerting.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  customer-service-dialogue-application[Customer service dialogue application]
  customer-data-context[Customer data context]
  synthetic-data-generation[Synthetic data generation]
  sagemaker-pipelines[SageMaker Pipelines]
  sagemaker-model-registry[SageMaker Model Registry]
  fine-tuned-llama-3-1-8b-model[Fine-tuned Llama 3.1 8B model]
  monitoring-and-alerts[Monitoring and alerts]
  customer-service-dialogue-application --> customer-data-context
  customer-service-dialogue-application --> fine-tuned-llama-3-1-8b-model
  synthetic-data-generation --> sagemaker-pipelines
  sagemaker-pipelines --> sagemaker-model-registry
  sagemaker-model-registry --> fine-tuned-llama-3-1-8b-model
  monitoring-and-alerts --> fine-tuned-llama-3-1-8b-model
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Customer service dialogue application Collects customer context, invokes the fine-tuned model, and returns dialogue that can be converted to speech. Customer data context, Fine-tuned Llama 3.1 8B model
Customer data context Conversation history, preferences, service history, ticket status, and subscription details used to personalize answers. Customer service dialogue application
Synthetic data generation Creates anonymized prompt-completion training pairs from production-like data using a larger teacher LLM. SageMaker Pipelines
SageMaker Pipelines Orchestrates training, evaluation, and model registration steps for repeatable model builds. SageMaker Model Registry
SageMaker Model Registry Stores trained model artifacts before deployment. Fine-tuned Llama 3.1 8B model
Fine-tuned Llama 3.1 8B model Small task-specialized model serving customer-service dialogue with bounded latency. Customer service dialogue application
Monitoring and alerts CloudWatch and internal monitoring surfaces metrics, visualization, exports, and alerts for the deployment. Fine-tuned Llama 3.1 8B model

Data flow

For training, anonymized production-like data is converted into synthetic prompt-completion pairs with a larger teacher model, stored in S3, run through SageMaker Pipelines for training and evaluation, and registered in SageMaker Model Registry. For production use, the customer-service system uses customer context, calls the fine-tuned Llama 3.1 8B model through the deployment, and returns a dialogue answer that can be converted to speech.

“We achieved this by crafting prompt comp synthetic prompt completion data pairs using a bigger LLM a large LLM as a teacher.”transcript, stated
“we use SageMaker pipelines to orchestrate basically the training job the evaluation job and also the storing kind of of the models itself to SageMaker model registry.”transcript, stated

Why this architecture

Swisscom chose a smaller fine-tuned model because the contact-center path needed custom task accuracy, bounded voice latency, scalability under peak request volume, lifecycle control, and hourly infrastructure economics rather than per-token billing.

“customizability is key for us. This will allow us to tailor our models to excel with high accuracy at the specific task at the at hand.”transcript, stated
“a smaller model with 8 billion parameters was the right fit because we got kind of price performance, latency and so on that we were looking for”transcript, stated

Models used: Llama 3.1 8B Instruct · larger teacher LLM

Scale

Alternatives considered (roads not taken)

use a larger general-purpose LLM directly

Rejected because: the production path needed a smaller model with comparable task accuracy and bounded latency.

“We deliver accuracy comparable to a bigger the big LLM that we use as the teacher uh while keeping latency in check with a guaranteed upper limit.”transcript, stated

stay in notebook-style experimentation

Rejected because: notebooks were not production-ready, so Swisscom moved to repeatable SageMaker model-building pipelines.

“Jupyter notebooks are not really production ready, right? So we have to um go through a process of actually building um yeah repeatable model building pipelines”transcript, stated

Patterns

fine-tuning-adaptation (model-operations)

Swisscom fine-tuned a small Llama 3.1 8B model on synthetic prompt-completion pairs generated from anonymized production-like data by a larger teacher model.

“We achieved this by crafting prompt comp synthetic prompt completion data pairs using a bigger LLM a large LLM as a teacher.”transcript, stated

eval-driven-development (evaluation)

Training was organized as a repeatable pipeline that included an evaluation job before storing models in the registry.

“we use SageMaker pipelines to orchestrate basically the training job the evaluation job and also the storing kind of of the models itself to SageMaker model registry.”transcript, stated

observability-tracing (operations)

The deployment used CloudWatch metrics, visualization, exports to internal monitoring, and alerts as the operational visibility layer.

“We have monitoring. You get that with Cloudatch out of the box. You have metrics there. You can visualize them, but you can also export them of course to your internal uh monitoring system and add alerts.”transcript, stated

latency-optimization (serving)

Swisscom optimized around a smaller fine-tuned model and a deployment target that could meet a voice-channel median latency under 250 milliseconds.

“we served in with a median latency of below 250 milliseconds. That's super crucial to our use case.”transcript, stated

Tradeoffs

Use a smaller fine-tuned model for the contact-center path.

Chose fine-tuned Llama 3.1 8B over a larger teacher/general LLM at runtime.

Rationale: The smaller model could match task accuracy while providing bounded latency and better price/performance for peak call-center loads.

“We deliver accuracy comparable to a bigger the big LLM that we use as the teacher uh while keeping latency in check with a guaranteed upper limit.”transcript, stated

Start with a fixed production deployment before adding more dynamic scaling.

Chose two always-running instances over a more complex dynamic scaling setup immediately.

Rationale: The team prioritized a simple production foundation and identified dynamic scaling as later improvement work.

“it's a fixed two instance right now and of course you want to have that in the future a bit more dynamic.”transcript, stated
“starting simple and adding complexity is kind of was key for us and I think makes also sense”transcript, stated

Gotchas (what bit them)

Voice-channel interactions had little tolerance for slow model responses.

Root cause: Customers calling a hotline cannot wait through multi-second generation delays.

Resolution: Swisscom selected and fine-tuned a smaller model to keep latency bounded in the contact-center path.

“Imagine you're on the phone calling the hotline and you have to wait 10 seconds. You don't want to wait that long. So here the latency is really less forgiving for that use case.”transcript, stated

Notebook experiments did not provide a production-ready model lifecycle.

Root cause: The team needed repeatable builds, code versioning, evaluation, registry storage, and deployable infrastructure.

Resolution: They moved the workflow into SageMaker Pipelines and SageMaker Model Registry.

“Jupyter notebooks are not really production ready, right? So we have to um go through a process of actually building um yeah repeatable model building pipelines”transcript, stated

Evaluation

Swisscom evaluated the fine-tuned model inside SageMaker Pipelines, comparing accuracy with the larger teacher model and checking latency/concurrency behavior for the contact-center deployment.

Metrics: accuracy comparable to the larger teacher LLM · median latency below 250 milliseconds · 50% of CIVR traffic served by the model · hundreds of requests per minute peak-load requirement

“we use SageMaker pipelines to orchestrate basically the training job the evaluation job and also the storing kind of of the models itself to SageMaker model registry.”transcript, stated
“We deliver accuracy comparable to a bigger the big LLM that we use as the teacher uh while keeping latency in check with a guaranteed upper limit.”transcript, stated

Outcomes

The model was in production for about half of CIVR requests, served below 250ms median latency, and was designed around hundreds of requests per minute at peak load.

“Currently in production we have like 50% traffic there of all our requests in CIVR.”transcript, stated
“our Sage marker, our SageMaker deployment offers a costefficient solution charging us hourly instead of per token or per request.”transcript, stated