Tới nội dung chính

AI/ML Systems Architect · Hạ tầng & MLOps @ eUp Group

Đưa mô hình AIra vận hành thật.

Dịch vụ speech (ASR, chấm phát âm và thanh điệu) và embedding trên GCP và DigitalOcean cho người dùng ở VN, JP, KR và CN. Mặc định tối ưu chi phí: chọn đúng cỡ GPU, ưu tiên inference trên CPU, tự host thay cho API trả phí.

  • Kubernetes & GitOps (GKE)
  • Triển khai ML thực chiến
  • Hệ thống Agentic RAG & LLM
  • IaC (Terraform · Ansible)
  • Tối ưu chi phí hạ tầng
  • Đa cloud (GCP · AWS · OCI)

01Công Anh DũngHà Nội, Việt NamVI / EN

Năm xây dựng và vận hành hệ thống AI trong production
3+
Dịch vụ chấm phát âm đang chạy cho thị trường Nhật, Hàn, Trung và tiếng Anh
4
Nền tảng cloud dùng thực tế (GCP, AWS, DigitalOcean, OCI, Cloudflare)
5
Mô hình ASR tiếng Nhật đã công bố trên Hugging Face
3

Năng lực cốt lõi

Cách tôi xây dựng và vận hành hạ tầng AI.

Bốn mảng tôi làm sâu, từ chọn kiến trúc và kiểm soát chi phí đến vận hành Kubernetes, phục vụ mô hình và dựng ứng dụng LLM.

  • 01

    Kiến trúc giải pháp & Tối ưu chi phí

    Thiết kế hệ thống cho ML serving, chọn GPU dựa trên benchmark và phân tích nguyên nhân gốc — p95 đo được 1.86s dưới tải đồng thời, chỉ chiếm ~8% công suất GPU, chứng minh chỉ cần GPU CUDA phổ thông, trong khi phương án H100 tốn ~$2,475/tháng.

  • 02

    Hạ tầng Cloud & Kubernetes

    Sở hữu toàn trình: provisioning Terraform/Ansible, Docker và Kubernetes trên GKE, DigitalOcean và bare-metal kubeadm — cùng tự động deploy AWS EC2, GitOps ArgoCD và Cloudflare Tunnel.

  • 03

    ML Serving & MLOps

    Triển khai dịch vụ ASR (faster-whisper/CTranslate2), TTS, chấm phát âm (wav2vec2) và embedding (Qwen3) với pipeline CI/CT/CD đầy đủ, các cổng kiểm soát chất lượng và observability Prometheus/CloudWatch.

  • 04

    Agentic RAG & Kiến trúc ứng dụng LLM

    Điều phối multi-agent (Google ADK) với truy xuất hybrid keyword/semantic, slot-filling theo luật và kiểm chứng grounding — code sở hữu mọi con số, LLM chỉ diễn đạt câu chữ. Phục vụ không phụ thuộc provider: Gemini, Claude và vLLM/Ollama tự host.

  • Di trú các dịch vụ ML production còn lại từ Docker Swarm sang GKE bằng Helm và ArgoCD App-of-Apps.
  • Củng cố dịch vụ embedding Qwen3 nội bộ và pipeline review code dựa trên RAG.
  • Vận hành LAN ở nhà như production — Ansible IaC cho Raspberry Pi, cảnh báo Slack ChatOps và backup cấu hình mã hóa GPG.
  • Thiết kế hệ thống agentic RAG với code sở hữu điều phối và truy xuất, LLM chỉ diễn đạt câu trả lời.

Dự án tiêu biểu

Các dự án hạ tầng, ML serving và platform engineering tiêu biểu.

Chín hệ thống đã chạy thật, kèm một ca cụ thể mổ xẻ từ vấn đề tới kết quả đo được.

AI Gateway: tầng reactive chịu lỗi cho lưu lượng LLM đa nhà cung cấp

Cách tôi chuyển các tích hợp mô hình rời rạc thành một gateway thống nhất, chịu lỗi tốt.

  • Gateway reactive Spring WebFlux định tuyến lưu lượng OpenAI / Gemini / Anthropic / DashScope
  • Circuit breaker, bulkhead và retry (Resilience4j) để suy giảm an toàn
  • Theo dõi token theo từng request dưới một chuẩn API tương thích OpenAI
Mã nguồn
Bài toán
Các đội cần một API ổn định cho nhiều nhà cung cấp LLM, nhưng mỗi bên có định dạng request/response, rate limit và kiểu lỗi khác nhau.
Kiến trúc
Gateway Java Spring WebFlux xử lý routing, resilience và policy control; phía sau là worker Python FastAPI phục vụ mô hình nội bộ và tác vụ embedding.
Đánh đổi kỹ thuật
Ưu tiên độ tin cậy và khả năng quan sát thay vì tối giản — nhiều thành phần hơn nhưng ổn định khi provider suy giảm hoặc bị rate-limit.
Kết quả
Một nền tảng gateway tái sử dụng cho các sản phẩm AI tiếp theo, giảm chi phí tích hợp và chuẩn hóa cơ chế kiểm soát production.
Bước cải tiến tiếp theo
Dashboard độ trễ theo từng provider, phân tích chi phí token và tự động tinh chỉnh fallback dựa trên tín hiệu lưu lượng thực tế.
  • eUp · 2025-2026

    Multi-Market Speech Scoring Platform

    Bốn dịch vụ FastAPI/Gunicorn chấm phát âm cho JLPT (tiếng Nhật), TOPIK (tiếng Hàn), HSKK (tiếng Trung) và tiếng Anh, mỗi dịch vụ có lớp STT đa engine — Kotoba-Whisper, faster-whisper/CTranslate2, SenseVoice ONNX, ReazonSpeech — với cơ chế fallback tự động.

    Việc chấm điểm mang tính ngôn ngữ học chứ không chung chung: căn chỉnh Needleman-Wunsch giữa câu mẫu và câu đọc, goodness-of-pronunciation bằng wav2vec2 CTC với G2P espeak-ng, trọng âm cao độ tiếng Nhật qua SudachiPy/MeCab/pykakasi, phân loại thanh điệu tiếng Trung và phân tích ngôn điệu Praat/parselmouth chạy sau semaphore giới hạn đồng thời. Dưới tải đồng thời đo bằng benchmark, đường phục vụ giữ p95 dưới hai giây (1.86s) ở mức chỉ khoảng 8% công suất một GPU CUDA phổ thông — trần năng lực ở đây nằm ở ngân sách hạ tầng chứ không phải ở mô hình — và trên production, riêng thị trường tiếng Nhật đã chạy 740 request chấm điểm liên tiếp trong cửa sổ 30 phút mà không có một phản hồi nào ngoài 2XX.

    • FastAPI
    • Gunicorn
    • CTranslate2
    • wav2vec2 CTC
    • ONNX Runtime
    • parselmouth
  • eUp · 2025-2026

    Hey Translate

    Dịch vụ dịch thuật chạy song song Claude, Gemini, GPT và Qwen trên cùng một đầu vào thay vì tin tưởng một nhà cung cấp duy nhất.

    • Python
    • Claude
    • Gemini
    • GPT
    • Qwen
    • LLM-as-judge
  • eUp · 2025-2026

    Ultimate Lesson

    Pipeline biến một URL YouTube thành bài học ngôn ngữ có cấu trúc: yt-dlp qua Whisper để bóc băng, GPT-4o-mini làm sạch phụ đề, rồi Gemini 2.5 Flash sinh nội dung với bộ trích xuất Flash Lite fine-tune trên Vertex AI.

    • Gemini 2.5 Flash
    • Vertex AI
    • Whisper
    • GPT-4o-mini
    • Redis
    • yt-dlp
  • eUp · 2025

    Internal Embedding Service

    Tự host Qwen3-Embedding-4B, cung cấp endpoint /v1/embeddings tương thích OpenAI trên RTX 4080, thay thế hoàn toàn OpenAI Embedding API cho workload nội bộ.

    • Qwen3-Embedding-4B
    • FastAPI
    • LanceDB
    • Docker Compose
    • GitLab CI
    • RTX 4080
  • 2025-2026

    AI Gateway

    Gateway Java 21 Spring WebFlux kết hợp worker Python FastAPI, hợp nhất truy cập LLM đa nhà cung cấp (OpenAI, Gemini, Anthropic, DashScope) sau một API duy nhất, có rate limit Bucket4j và trạng thái lưu trên Redis.

    • Java 21
    • Spring WebFlux
    • Resilience4j
    • Bucket4j
    • Terraform
    • GKE Autopilot
  • 2025-2026

    Homelab Kubernetes & GitOps Platform

    Cụm Kubernetes v1.31 ba node dựng tay bằng kubeadm thay vì dùng distro managed: Flannel CNI, MetalLB (L2), ingress-nginx, local-path storage và registry tự host.

    • kubeadm
    • ArgoCD
    • MetalLB
    • Prometheus
    • Grafana
    • Loki
  • 2026

    Whisper Finetune JA

    Pipeline fine-tune LoRA tái lập được cho ASR tiếng Nhật trên Whisper với dữ liệu ReazonSpeech, kèm script huấn luyện, export INT8 và inference.

    • PyTorch
    • LoRA/PEFT
    • CTranslate2 INT8
    • Kaggle
    • GitHub Actions
    • Hugging Face
  • 2026

    Raspberry Pi Homelab — Ansible IaC & Slack ChatOps

    Chiếc Raspberry Pi phục vụ toàn bộ LAN được chuyển thành infrastructure as code: một playbook Ansible idempotent dựng lại từ OS trắng (mount fstab, Docker CE, giới hạn journald, cloudflared, Tailscale, AdGuard Home, cron dọn rác).

    • Ansible
    • Docker
    • AdGuard Home / DoH
    • Cloudflare Worker
    • Tailscale
    • Slack API
  • 2025

    NewsPulse Reco Engine

    Nền tảng tin tức tiếng Việt theo hướng sự kiện: thu thập, Spark ETL, streaming Kafka, embeddings, phát hiện xu hướng và đẩy FCM qua luồng orchestration n8n.

    • Scala 3
    • Kafka
    • Spark
    • Elasticsearch
    • n8n
    • Firebase FCM

Kinh nghiệm

Ba năm xây dựng và vận hành hệ thống AI trong môi trường thực tế.

Ba năm qua ba nơi: phân tích hội thoại ở FPT Smart Cloud, kỹ sư AI ở AMELA, tới sở hữu hạ tầng AI/ML ở eUp Group.

  1. Jan 2025 — Present

    AI/ML Systems Architect — Hạ tầng & MLOps @ eUp Group

    Sở hữu toàn trình hạ tầng AI cho dòng sản phẩm HeyJapan — provisioning, delivery, model serving và observability — đồng thời thiết kế các hệ thống speech, dịch thuật và sinh bài học chạy trên đó.

    • Thiết kế nền tảng chấm điểm phát âm đa thị trường (JLPT, TOPIK, HSKK, tiếng Anh): 4 dịch vụ FastAPI/Gunicorn với STT đa engine — Kotoba-Whisper, faster-whisper/CTranslate2, SenseVoice ONNX, ReazonSpeech — kèm cơ chế fallback tự động.
    • Loại phương án H100 ~$2,475/tháng bằng số liệu chứ không bằng cảm tính: p95 1.86s dưới tải đồng thời, chỉ dùng ~8% một GPU CUDA phổ thông. Đồng thời chủ trì RCA khép lại chênh lệch latency ASR gấp 3 lần giữa hai môi trường.
    • Di trú các dịch vụ ML production từ Docker Swarm sang Kubernetes (GKE và bare-metal kubeadm) với Terraform, Ansible, Helm và ArgoCD App-of-Apps; observability bằng Prometheus, Grafana và Loki.
    • Thay thế OpenAI Embedding API bằng dịch vụ Qwen3-Embedding-4B tự host và xây pipeline review code RAG chạy trên đó, kiểm soát bằng exit-code gate trong GitLab CI.
    • Kỹ thuật build và release: Jenkins signed tag, GitLab CI với pytest và Docker-in-Docker, registry Harbor, quality gate gitleaks và Qodana.
    • Terraform
    • Ansible
    • Kubernetes
    • ArgoCD
    • FastAPI
    • CTranslate2
    • Prometheus
  2. Nov 2024 — Jan 2025

    AI Engineer @ AMELA Technology

    Triển khai các tính năng thị giác máy tính và RAG cho sản phẩm khách hàng.

    • Xây dựng pipeline OCR chữ viết tay tiếng Nhật, từ chuẩn bị dữ liệu, huấn luyện mô hình đến endpoint phục vụ.
    • Triển khai chatbot RAG trên tập tài liệu khách hàng và tính năng kẻ eyeliner có AI dẫn đường dựa trên nhận diện điểm mốc khuôn mặt.
    • PyTorch
    • OCR
    • RAG
    • OpenCV
  3. Mar 2023 — Nov 2024

    AI Engineer @ FPT Smart Cloud

    Tham gia FPT AI Enhance — nền tảng phân tích hội thoại phục vụ Home Credit, FE Credit, MB Bank, FPT Long Châu và FPT Shop.

    • Phát triển các tính năng phân tích hội thoại trên dữ liệu tổng đài thực tế cho khách hàng ngân hàng và bán lẻ quy mô lớn.
    • Xây dựng guardrail cho LLM và phát triển chatbot trợ lý ảo cho Ủy ban Chứng khoán Nhà nước Việt Nam.
    • Python
    • NLP
    • LLM Guardrails
    • Chatbot

Trường Đại học Khoa học Tự nhiên, ĐHQGHN

Khoa học Máy tính và Thông tin · Mar 2019 — Jun 2025

AWS Certified Solutions Architect — Associate (SAA-C03)

Nguyên tắc triển khai

Các nguyên tắc vận hành hạ tầng AI thực chiến.

Công cụ tôi dùng hằng ngày, và năm nguyên tắc quyết định cách tôi dùng chúng.

  • Terraform
  • Ansible
  • Kubernetes (GKE · kubeadm · Autopilot)
  • GCP (GKE · Vertex AI · Artifact Registry)
  • AWS (EC2 · CloudWatch)
  • DigitalOcean
  • faster-whisper / CTranslate2
  • Kotoba-Whisper
  • SenseVoice ONNX
  • LangChain / LangGraph
  • Google ADK
  • MCP
  • Python · FastAPI
  • Java 17/21 · Spring WebFlux
  • Scala 3
  • GitLab CI (pytest · DinD)
  • GitHub Actions
  • Jenkins
  • Hạ tầng & Nền tảng

    • Terraform
    • Ansible
    • Kubernetes (GKE · kubeadm · Autopilot)
    • ArgoCD
    • Helm
    • Kustomize
    • Docker
    • Harbor
    • Cloudflare Tunnel
    • Tailscale
  • Cloud

    • GCP (GKE · Vertex AI · Artifact Registry)
    • AWS (EC2 · CloudWatch)
    • DigitalOcean
    • OCI
    • Workload Identity
    • Preemptible pools
    • vast.ai
  • ML & Xử lý tiếng nói

    • faster-whisper / CTranslate2
    • Kotoba-Whisper
    • SenseVoice ONNX
    • ReazonSpeech
    • wav2vec2 CTC (GOP)
    • LoRA / PEFT
    • espeak-ng G2P
    • Praat / parselmouth
    • SudachiPy · MeCab · pykakasi
  • LLM & Agent

    • LangChain / LangGraph
    • Google ADK
    • MCP
    • A2A Protocol
    • Gemini · Claude · GPT · Qwen
    • vLLM · Ollama
    • Qwen3 Embedding
    • LanceDB · Milvus
  • Backend & Dữ liệu

    • Python · FastAPI
    • Java 17/21 · Spring WebFlux
    • Scala 3
    • Next.js
    • Kafka
    • Spark Streaming
    • Delta Lake
    • Elasticsearch
    • Redis
    • PostgreSQL
  • Delivery & Giám sát

    • GitLab CI (pytest · DinD)
    • GitHub Actions
    • Jenkins
    • Prometheus
    • Grafana
    • Loki
    • gitleaks
    • Qodana
    • n8n
  1. 1

    Quyết định theo framework, không cảm tính

    So sánh phương án GPU và cloud trên giá, vị trí data center, SLA và độ trễ VN-JP-KR cùng lúc — không chỉ nhìn giá thuần.

  2. 2

    Tối ưu chi phí mặc định

    Chọn phần cứng theo workload đo được (wav2vec2 ~315M FP16 chỉ cần ~2GB VRAM) và giải quyết đánh đổi CPU-vs-GPU bằng benchmark trước khi provisioning.

  3. 3

    CLI-first, vận hành tái lập được

    Tự động hóa provisioning và deploy bằng Terraform, Ansible và GitOps để mọi môi trường đều dựng lại được từ code.

  4. 4

    Triển khai qua GitOps và cổng chất lượng

    Giao hàng qua ArgoCD App-of-Apps và CI exit-code gate, fail nhanh khi có lỗi hỏng dữ liệu hoặc hồi quy trước khi tới người dùng.

  5. 5

    Gắn quan sát và suy giảm an toàn

    Quan sát mọi dịch vụ bằng kube-prometheus-stack, xem lỗi provider hay GPU là bình thường và luôn có đường fallback định sẵn.

Dữ liệu tổng quan

Tổng quan hoạt động và tín hiệu kỹ thuật từ GitHub.

Toàn bộ số liệu dưới đây đọc thẳng từ GitHub API và được đóng băng tại thời điểm chụp, nên trang luôn hiện đúng thứ mà bản build nhìn thấy — không có biểu đồ nào ở đây được vẽ tay.

Ảnh chụp GitHub

Repo công khai
64
Repo tự viết, không fork
49
Trong phạm vi từ 2025
15
Ngôn ngữ dùng trong phạm vi
7

Cơ cấu ngôn ngữ

  • Python7 · 47%
  • Không xác định3 · 20%
  • HTML1 · 7%
  • Java1 · 7%
  • Makefile1 · 7%
  • Scala1 · 7%

Nhịp cập nhật theo tháng

T10T11T12T1 '26T2T3T4T5T6T7T8T9

8 repo

Mức độ cập nhật gần đây

  • Cập nhật ≤ 30 ngày1
  • Cập nhật 31–90 ngày1
  • Cập nhật 91–180 ngày2
  • Cập nhật > 180 ngày11

Repo hoạt động gần đây nhất

Phạm vi: các repo công khai có commit từ 2025 trở lại đây. Repo bài tập thời đại học được loại trừ, và phần lớn công việc production tại eUp, AMELA và FPT nằm trong repo nội bộ nên không xuất hiện ở đây.

Ghi chép kỹ thuật

Hạ tầng, MLOps và những bài học tối ưu chi phí.

Những thứ tôi đã thử, đã hỏng và đã sửa — chủ yếu quanh chi phí GPU, phục vụ LLM và vận hành.

  • Vì sao tôi không để agent tự điều phối nữa

    Mẫu kiến trúc lai cho agentic RAG: framework sở hữu runtime, code sở hữu điều phối và mọi con số, LLM chỉ được diễn đạt câu chữ — với kiểm chứng grounding làm lớp cưỡng chế.

    Mã nguồndungca1512/research-agent
  • Phục vụ LLM không phụ thuộc provider: cloud API hay vLLM local chỉ đổi một biến môi trường

    Thiết kế tầng LLM như một interface để máy chủ CPU-only hôm nay chạy bằng cloud API và sau này chuyển sang vLLM on-premise mà không sửa code ứng dụng.

  • Tối ưu chi phí GPU: để benchmark chọn phần cứng

    Đo trước khi mua: p95 1.86s dưới tải đồng thời, chỉ dùng ~8% một GPU phổ thông, vì sao khoản H100 (~$2,475/tháng) không bao giờ hợp lý, và vì sao CPU-only chết ở trần throughput ~1 req/s.

  • Hạ tầng ở nhà cũng đáng được đối xử như production

    Viết lại chiếc Raspberry Pi cấu hình tay thành một playbook Ansible idempotent: độ trễ DNS 199ms -> 27ms, Slack ChatOps để xem trạng thái và cảnh báo sự cố, CI lint/quét secret và backup mã hóa GPG kèm runbook phục hồi.

  • Từ Docker Swarm sang GKE: di trú dịch vụ ML production

    Ghi chú về việc đưa workload ML đang chạy lên Kubernetes với Helm, ArgoCD App-of-Apps và homelab kubeadm bare-metal để thử nghiệm.

    Mã nguồndungca1512/homelab
  • AI Gateway: resilience reactive cho lưu lượng LLM

    Phân tích thực tế về định tuyến provider, các cơ chế Resilience4j và chuẩn API thống nhất cho sản phẩm LLM đa nhà cung cấp.

    Mã nguồndungca1512/ai-gateway

Liên hệ

Bạn đang xây dựng hạ tầng AI hoặc nền tảng ML?

Tôi sẵn sàng cho các vị trí hạ tầng AI/ML, DevOps và MLOps, tập trung vào triển khai mô hình thực tế, nền tảng Kubernetes và kiến trúc cloud tối ưu chi phí.

Hà Nội, Việt Nam · AI/ML Systems Architect · Hạ tầng & MLOps @ eUp Group