Hybrid Cloud Architecture for AI/ML with Regulatory Compliance in Banking

bank_centercredit_(bcc) · Finance · 2024 · source Agentic: no · 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: regulated banking AI/ML infrastructure, speech recognition, and internal HR support

Bank CenterCredit needed to use cloud AI/ML services and GPU capacity while meeting banking requirements that data be encrypted with locally held keys and customer data be anonymized before processing outside the bank's security perimeter.

Constraints:

Architecture

BCC built a hybrid multi-cloud foundation using AWS Outposts in its own data centers, managed Kubernetes/EKS, S3 on Outposts, centralized deployment/logging/load-balancing tools, and AWS KMS External Key Store so local keys can protect cloud processing. On top of that platform, the bank built two AI use cases. The ASR pipeline keeps raw call-center data on premise, splits audio into channels and voice chunks, generates text with an existing speech-to-text model, removes PII/sensitive chunks with NER, converts cleaned audio to Mel spectrograms, synchronizes encrypted spectrograms to S3 in the AWS region, fine-tunes in SageMaker with cloud GPUs, and returns artifacts for on-premise inference. The HR bot uses hybrid RAG: local embeddings and a Postgres vector database on Outposts retrieve HR policy context, then prompt plus context is sent through Bedrock to Claude Sonnet and returned to the on-premise chatbot.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  On_premise_bank_data_centers["On-premise bank data centers"] --> AWS_Outposts_racks["AWS Outposts racks"]
  AWS_Outposts_racks --> EKS_on_Outposts["EKS on Outposts"]
  AWS_Outposts_racks --> S3_on_Outposts["S3 on Outposts"]
  AWS_Outposts_racks --> XKS_proxy["XKS proxy"]
  XKS_proxy --> AWS_KMS["AWS KMS"]
  Hadoop_call_recording_cluster["Hadoop call recording cluster"] --> Audio_preprocessing_pipeline["Audio preprocessing pipeline"]
  Audio_preprocessing_pipeline --> NER_anonymization_step["NER anonymization step"]
  NER_anonymization_step --> Mel_spectrogram_converter["Mel spectrogram converter"]
  Mel_spectrogram_converter --> S3_on_Outposts
  S3_on_Outposts --> S3_in_AWS_region["S3 in AWS region"]
  S3_in_AWS_region --> SageMaker_fine_tuning_job["SageMaker fine-tuning job"]
  SageMaker_fine_tuning_job --> ASR_model_artifacts["ASR model artifacts"]
  ASR_model_artifacts --> Local_GPU_inference_pool["Local GPU inference pool"]
  Local_GPU_inference_pool --> Post_call_analytics_pipeline["Post-call analytics pipeline"]
  HR_knowledge_base["HR knowledge base"] --> Local_embedding_model["Local embedding model"]
  HR_chatbot_UI["HR chatbot UI"] --> Local_embedding_model
  Local_embedding_model --> Postgres_vector_database["Postgres vector database"]
  Postgres_vector_database --> Amazon_Bedrock_private_endpoint["Amazon Bedrock private endpoint"]
  Amazon_Bedrock_private_endpoint --> Claude_Sonnet_model["Claude Sonnet model"]
  Claude_Sonnet_model --> HR_chatbot_UI
  EKS_on_Outposts --> Amazon_Bedrock_private_endpoint
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
On-premise bank data centers Primary bank-controlled environment where local infrastructure, security perimeter, call recordings, and key material reside. AWS Outposts racks, Hadoop call recording cluster, Local GPU inference pool
AWS Outposts racks Local AWS infrastructure placed in the bank's data centers to run managed AWS services while satisfying local-control requirements. EKS on Outposts, S3 on Outposts, XKS proxy, Postgres vector database
EKS on Outposts Managed Kubernetes environment integrated with internal bank services and shared multi-cloud operations tooling. Internal bank services, Amazon Bedrock private endpoint
XKS proxy External Key Store proxy on Outposts that lets AWS KMS use bank-controlled local keys for cloud encryption. AWS KMS, S3 on Outposts, S3 in AWS region
AWS KMS Cloud encryption service using data keys plus externally held root keys for double encryption. XKS proxy, S3 in AWS region, SageMaker fine-tuning job
Hadoop call recording cluster On-premise source system containing call-center recordings. Audio preprocessing pipeline
Audio preprocessing pipeline Splits recordings into channels, removes noise/silence, chunks phrases, and runs the existing speech-to-text model. NER anonymization step, Local GPU inference pool
NER anonymization step Identifies personal, sensitive, and confidential information and removes affected chunks before training data leaves the bank perimeter. Mel spectrogram converter
Mel spectrogram converter Transforms cleaned audio into spectrogram images used as the ASR fine-tuning dataset. S3 on Outposts, SageMaker fine-tuning job
S3 on Outposts Local object storage for encrypted, cleansed training data before synchronization to the AWS region. S3 in AWS region, XKS proxy
S3 in AWS region Regional cloud storage for encrypted Mel spectrograms used by SageMaker. SageMaker fine-tuning job
SageMaker fine-tuning job Cloud GPU training job that fine-tunes the custom ASR model. ASR model artifacts
ASR model artifacts Fine-tuned speech-recognition model outputs returned on premise for local inference. Local GPU inference pool, Post-call analytics pipeline
Local GPU inference pool Bank GPU capacity used for medium-size ASR inference and local model hosting. Post-call analytics pipeline
HR knowledge base Internal HR policies and documents used as RAG knowledge for employee questions. Local embedding model
Local embedding model On-premise embedding model used for HR knowledge base and user prompts. Postgres vector database
Postgres vector database Vector database on Outposts storing HR policy embeddings and returning context for user prompts. Amazon Bedrock private endpoint
Amazon Bedrock private endpoint Secure private connection from Outposts to Bedrock for prompt-plus-context LLM processing. Claude Sonnet model, HR chatbot UI
Claude Sonnet model Bedrock-hosted model that answers HR prompts using retrieved context. HR chatbot UI
HR chatbot UI Employee-facing interface for HR self-service questions. Local embedding model, Amazon Bedrock private endpoint
Post-call analytics pipeline Operational analytics pipeline consuming the fine-tuned ASR model. ASR model artifacts

Data flow

For ASR, call-center recordings start in an on-premise Hadoop cluster, are split into agent/customer channels, cleaned with voice activity detection, chunked into 2-to-20-second phrases, transcribed by the previous speech-to-text model, transferred to Outposts, filtered by NER to remove sensitive chunks, converted into encrypted Mel spectrograms, synchronized to regional S3, fine-tuned in SageMaker, and returned on premise for inference. For HR RAG, HR policies are embedded locally, stored as vectors in Postgres on Outposts, matched against embedded user prompts, attached as context, sent to Bedrock/Claude in the region, and returned to the on-premise chatbot.

3 supporting quotes
“Initially all call center recordings were stored in a Hadoop cluster on premise in BCC data center.”transcript, stated
“this mel spectrograms were served as the training dataset for the fine tuning job in a SageMaker AI.”transcript, stated
“prompt plus extra content sent to the cloud, to the region, from Outposts to the region to the service which we call AWS Bedrock.”transcript, stated

Why this architecture

The hybrid architecture exists because the bank needed cloud flexibility, cloud GPU capacity, and managed AI services, but could not allow keys or sensitive customer data to leave its control. AWS Outposts and XKS let the bank run AWS-managed services locally with locally held keys; the ASR design sends only cleaned, encrypted Mel spectrograms to cloud GPUs; and the HR bot keeps the knowledge base, embeddings, and vector store on Outposts while sending only prompt plus retrieved context to Bedrock.

3 supporting quotes
“we need to ensure compliance with regulatory requirements. First requirement is data transmission and storage must be encrypted, and the encryption key must be stored in the bank.”transcript, stated
“It was the hard requirement from the internal security that none of this data should leave the security perimeter of the bank.”transcript, stated
“bank used our cloud power, our cloud GPUs for the fine tuning and then take the model back on premise and host it for inference on premise.”transcript, stated

Models used: custom ASR model · previous-generation speech-to-text model · Named Entity Recognition model · embedding model · Claude Sonnet 4.5 · Amazon Bedrock models

Scale

Alternatives considered (roads not taken)

Purely local infrastructure for all AI/ML workloads

Rejected because: Growing business needs and local limitations led the bank to scale with cloud resources.

“All of IT infrastructure was hosted locally into our own data centers, but with growing business needs and limitation for local solutions, we decide to scale our resources using cloud.”transcript, stated

Run all ASR fine-tuning on Outposts

Rejected because: BCC's Outposts did not have GPUs, and local GPUs were sufficient for inference but not large-scale fine-tuning.

“The thing is that BCC Outposts configuration doesn't have GPUs.”transcript, stated
“it's enough to do an inference for these models, but it's not enough for the fine tuning.”transcript, stated

Use commercial or open-source ASR models as-is

Rejected because: Available models did not handle Kazakh/Russian mixed language and were trained on 16 kHz data while the bank stored 8 kHz recordings.

“there is no model on the market which can work with the mixed language.”transcript, stated
“most of the ASR models on the market, commercial or open source, they are trained with the training datasets with 16 kilohertz.”transcript, stated

Send the full HR knowledge base to the cloud model

Rejected because: The hybrid RAG design keeps HR policies embedded and stored locally, sending only the prompt plus retrieved context to Bedrock.

“initially the HR knowledge base was processed by embedding model using the local GPU power and then resulting vectors were stored in the Postgres database and Outposts”transcript, stated
“prompt plus extra content sent to the cloud, to the region, from Outposts to the region to the service which we call AWS Bedrock.”transcript, stated

Patterns

privacy-preserving-processing (governance)

Encryption keys stay in the bank, sensitive chunks are removed before training data leaves the perimeter, and cloud training uses encrypted transformed spectrogram data.

“the encryption key must be stored in the bank. And second requirement is ensure anonymization customers' data during collection and processing.”transcript, stated
“all the chunks, all the files where this data were identified was removed from the training dataset, both text files and the audio file.”transcript, stated

fine-tuning-adaptation (model-adaptation)

The bank fine-tuned a custom ASR model for Kazakh/Russian mixed-language call-center audio using cleaned internal recordings.

“the bank decided to create its own custom dataset with eight kilohertz and with enriched vocabulary based on the real call center data recordings.”transcript, stated
“this mel spectrograms were served as the training dataset for the fine tuning job in a SageMaker AI.”transcript, stated

rag-retrieval (retrieval)

The HR bot embeds local HR policies, retrieves relevant context from a Postgres vector database on Outposts, and sends only prompt plus context to Bedrock.

“That's why bank used the technique which we call the hybrid RAG.”transcript, stated
“vector goes to the Postgres, then the vector search works and it results with additional context from the Postgres vector database”transcript, stated

cost-aware-routing (operations)

The system uses cloud GPU power for compute-heavy fine-tuning, then returns the model for on-premise inference where the bank has sufficient local GPU capacity.

“bank used our cloud power, our cloud GPUs for the fine tuning and then take the model back on premise and host it for inference on premise.”transcript, stated

safety-policy-enforcement (governance)

The architecture is shaped around regulatory requirements for encryption, local key control, anonymization, and confidential-data boundaries.

“But at the same time, as a bank, we need to ensure compliance with regulatory requirements.”transcript, stated
“none of bank confidential data should leave the security perimeter, on-premise security perimeter.”transcript, stated

eval-driven-development (quality)

The ASR use case reports language-specific accuracy improvements and monthly savings, while the HR bot is assessed through request share and employee feedback.

“for all three languages, bank achieved significant accuracy improvement.”transcript, stated
“bank collected the feedback from the employees, whether they satisfied with the chatbot or not, and feedback is mostly positive.”transcript, stated

Tradeoffs

Hybrid cloud instead of all-local infrastructure

Chose AWS Outposts plus cloud regions and other clouds over keeping all workloads only in local data centers.

Rationale: The bank needed scalability, innovation, fault tolerance, and economic efficiency while retaining compliance controls.

“with growing business needs and limitation for local solutions, we decide to scale our resources using cloud.”transcript, stated
“First goal is flexibility and scalability, and second, innovative and competitiveness. Third goal is reliability and fault tolerance.”transcript, stated

Cloud fine-tuning with on-premise inference

Chose SageMaker/cloud GPUs for training and local GPU power for inference over trying to fine-tune entirely on local or Outposts GPU capacity.

Rationale: Cloud GPUs solved the fine-tuning bottleneck while inference remained within the bank's controlled environment.

“it's enough to do an inference for these models, but it's not enough for the fine tuning.”transcript, stated
“these artifacts were returned back on premise, and then hosted for inference using the local GPU power.”transcript, stated

Remove sensitive chunks instead of redacting and retaining them

Chose delete text/audio chunks containing personal or confidential data over attempting to preserve all training examples through redaction.

Rationale: The requirement was that none of the sensitive data leave the perimeter, so entire affected chunks were removed.

“none of this data should leave the security perimeter of the bank.”transcript, stated
“all the chunks, all the files where this data were identified was removed from the training dataset, both text files and the audio file.”transcript, stated

Mel spectrograms as cloud training representation

Chose encrypted Mel spectrograms for SageMaker fine-tuning over sending raw audio/text directly to cloud training.

Rationale: Mel spectrograms are an ASR best practice and create a representation that is not raw audio or text after sensitive content has been removed.

“So what is mel spectrogram? Mel spectrogram is literally an image of the audio.”transcript, stated
“mel spectrograms, by the way, it's not audio, it's not a text, it's something very specific”transcript, stated

Hybrid RAG for HR support

Chose local embeddings/vector store with Bedrock generation over a fully local chatbot or a fully cloud-hosted knowledge base.

Rationale: The bank gains access to Bedrock/Claude while keeping the HR knowledge base and vector search on Outposts.

“the HR knowledge base was processed by embedding model using the local GPU power and then resulting vectors were stored in the Postgres database and Outposts”transcript, stated
“In Bedrock we have model Claude Sonnet 4.5 I think at the moment.”transcript, stated

Gotchas (what bit them)

Regulatory rules determined the architecture before model choices did.

Root cause: Banking requirements required local key storage and customer-data anonymization, so ordinary cloud-native AI pipelines were not acceptable.

Resolution: Deploy AWS Outposts, XKS, double encryption, and on-premise anonymization so cloud services can be used without surrendering key control.

“First requirement is data transmission and storage must be encrypted, and the encryption key must be stored in the bank.”transcript, stated
“this feature allowed us to use local keys for encryption in cloud and now AWS KMS cloud servers can use our local keys.”transcript, stated

Outposts did not provide the GPU capacity needed for ASR fine-tuning.

Root cause: BCC's Outposts configuration did not include GPUs, and local GPUs were sufficient for inference but not fine-tuning.

Resolution: Use cloud GPUs/SageMaker for fine-tuning, then return artifacts for on-premise inference.

“The thing is that BCC Outposts configuration doesn't have GPUs.”transcript, stated
“So bank used our cloud power, our cloud GPUs for the fine tuning and then take the model back on premise”transcript, stated

Existing ASR models did not fit the bank's language and audio reality.

Root cause: Kazakh/Russian mixed speech had no market model, and bank recordings were 8 kHz while common ASR datasets were 16 kHz.

Resolution: Build a custom 8 kHz dataset from real call-center data and fine-tune a custom ASR model.

“there is no model on the market which can work with the mixed language.”transcript, stated
“model trained with the 16 kilohertz doesn't really perform well on the eight kilohertz dataset.”transcript, stated

Training data could not leave the perimeter with sensitive content intact.

Root cause: Internal security required that personal, sensitive, and confidential data not leave the bank's security perimeter.

Resolution: Run NER on text files and remove both text and corresponding audio chunks where sensitive data is identified.

“processed text files with the name Entity Recognition model to identify all personal information and sensitive data and confidential data in the text files.”transcript, stated
“all the chunks, all the files where this data were identified was removed from the training dataset, both text files and the audio file.”transcript, stated

Hybrid RAG still sends some employee query context to the cloud.

Root cause: Bedrock runs in the AWS region, so the prompt plus retrieved HR context travels from Outposts to the region for generation.

Resolution: Keep HR knowledge base embeddings/vector storage local and send only the user prompt plus retrieved context through the secured Bedrock path.

“resulting vectors were stored in the Postgres database and Outposts because Postgres can be a vector database.”transcript, stated
“prompt plus extra content sent to the cloud, to the region, from Outposts to the region to the service which we call AWS Bedrock.”transcript, stated

Evaluation

The presentation reports quantitative ASR accuracy improvements by language, monthly cost savings versus the previous commercial ASR solution, HR bot request share, and employee feedback. It does not describe a formal chatbot evaluation harness or detailed methodology for the ASR accuracy numbers.

Metrics: 9% ASR accuracy improvement for Russian · 15% ASR accuracy improvement for Kazakh · 23% ASR accuracy improvement for mixed language · four million tenge saved per month · roughly 70% of HR requests go through the HR bot · mostly positive employee feedback

3 supporting quotes
“9% for Russian, it's 15% for Kazakh. And what is the most important, the most significant improvement for the mixed language”transcript, stated
“this model appeared to be more cost efficient than the previous commercial ASR solution that bank used and it allows bank to save four million tenge every month.”transcript, stated
“bank collected the feedback from the employees, whether they satisfied with the chatbot or not, and feedback is mostly positive.”transcript, stated

Outcomes

The case provides concrete operational metrics but is an AWS/BCC presentation; accuracy and savings methodology are not independently detailed. The reusable pattern is hybrid compliance architecture: local keys, local anonymization, cloud training/generation where allowed, and on-premise inference or vector storage where required.

3 supporting quotes
“we built a secure hybrid multi-cloud platform that complies with legal requirements and tailored for bank business needs.”transcript, stated
“now this model works as a part of post-call analytics pipeline.”transcript, stated
“bank plan to implement the same project, but just in different functional areas, like IT support or procurement.”transcript, stated