Giới thiệu dự án
Hỏi đáp trực quan (Visual Question Answering - VQA) là một trong những bài toán đa thể thức (multimodal) thách thức nhất trong lĩnh vực Trí tuệ nhân tạo (AI), kết hợp giữa Thị giác máy tính (Computer Vision - CV) và Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP). Theo các thống kê từ cộng đồng nghiên cứu AI quốc tế, các hệ thống VQA truyền thống phần lớn tập trung vào ngôn ngữ tiếng Anh và tiếp cận bài toán dưới dạng phân lớp (classification) trên một tập từ vựng câu trả lời cố định. Cách tiếp cận này bộc lộ nhiều điểm hạn chế nghiêm trọng khi triển khai thực tế: không thể tạo ra các câu trả lời dạng sinh tự do (free-form, open-ended) với độ dài linh hoạt, đồng thời hoàn toàn bất khả thi khi áp dụng cho các ngôn ngữ ít tài nguyên (low-resource) như tiếng Việt hoặc môi trường đa ngữ.
+---------------------------------------------------------------------------------------------------+
| BÀI TOÁN HỎI ĐÁP TRỰC QUAN ĐA NGỮ |
| |
| [ Ảnh bối cảnh thực tế ] + [ Câu hỏi (Anh / Việt / Nhật) ] ---> [ Mô hình AI ] |
| | |
| v |
| [ Câu trả lời tự nhiên dạng mở (Free-form text) ] |
+---------------------------------------------------------------------------------------------------+
Vấn đề nghiên cứu và các điểm nghẽn kỹ thuật
Các mô hình VQA đa ngữ hiện hữu thường đối mặt với ba rào cản chính:
- Thiếu khả năng sinh ngôn ngữ tự nhiên: Việc đóng khung câu trả lời trong tác vụ phân loại nhãn khiến hệ thống không thể xử lý các câu hỏi đòi hỏi diễn đạt mạch lạc hoặc mô tả chi tiết.
- Chi phí tính toán cao của kiến trúc Transformer/RNN: Mạng nơ-ron hồi quy (RNN/LSTM) gặp nút thắt cổ chai về tính toán tuần tự, trong khi các mô hình sinh ngôn ngữ lớn dựa trên Transformer (như mT5, mBART) đòi hỏi tài nguyên phần cứng vượt trội, khó huấn luyện và triển khai trong điều kiện thực tế hạn chế.
- Khoảng cách biểu diễn đa thể thức và rào cản ngôn ngữ: Dữ liệu ảnh mang ngữ cảnh văn hóa đặc thù Việt Nam chưa được tích hợp tối ưu với các mô hình thị giác - ngôn ngữ đã tiền huấn luyện vốn dùng dữ liệu chuẩn phương Tây.
Mục tiêu dự án
Đề tài "Tích hợp đặc trưng ảnh vào mô hình mạng Convolutional Sequence-to-Sequence cho bài toán Hỏi đáp trực quan đa ngôn ngữ" được triển khai nhằm giải quyết triệt để các thách thức trên với 4 mục tiêu cụ thể:
- Khảo sát và trích xuất đặc trưng đa thể thức: Tận dụng sức mạnh biểu diễn từ các kiến trúc State-of-the-art (SOTA) gồm Vision Transformer (ViT), Vision-and-Language Transformer (ViLT) và One For All (OFA).
- Thiết kế kiến trúc sinh câu trả lời dựa trên ConvS2S: Xây dựng mô hình Convolutional Sequence-to-Sequence (ConvS2S) có khả năng tính toán song song hoàn toàn trên GPU, tối ưu hóa tốc độ huấn luyện và suy luận.
- Đề xuất cơ chế tích hợp đa tầng (Multi-modal Feature Fusion): Kết hợp linh hoạt giữa vector đặc trưng thị giác và các câu trả lời gợi ý (hints) có trọng số xác suất vào chuỗi đại diện đầu vào.
- Thực nghiệm và tối ưu trên tập dữ liệu chuẩn UIT-EVJVQA: Đánh giá định lượng thông qua cuộc thi học thuật toàn quốc VLSP 2022 (Vietnamese Language and Speech Processing).
Phạm vi và giới hạn của đề tài
- Ngôn ngữ hỗ trợ: Ba ngôn ngữ chính gồm Tiếng Anh (English -
en), Tiếng Việt (Vietnamese - vi) và Tiếng Nhật (Japanese - ja).
- Không gian dữ liệu: Bộ dữ liệu UIT-EVJVQA gồm 33.790 cặp câu hỏi - đáp thực tế gắn liền với 4.909 hình ảnh bối cảnh Việt Nam.
- Định dạng câu trả lời: Câu trả lời dạng mở (free-form), không giới hạn độ dài cố định.
- Giới hạn phần cứng: Tối ưu hóa trong giới hạn 01 GPU 16GB VRAM (Nvidia Tesla P100).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí phân tích |
Phương pháp Phân lớp (ViVQA + mBERT) |
Mạng Hồi quy Seq2Seq (LSTM / GRU) |
Mô hình Sinh lớn (ViT + mT5) |
Đề xuất: Multimodal ConvS2S |
| Dạng câu trả lời |
Cố định (Fixed vocabulary) |
Tự do (Free-form) |
Tự do (Free-form) |
Tự do (Free-form, đa ngữ) |
| Tính toán song song |
Cao (chỉ ở Encoder) |
Kém (xử lý tuần tự time-step) |
Cao (Self-attention) |
Rất cao (Tích chập 1D song song) |
| Bộ nhớ & Tài nguyên GPU |
Thấp |
Trung bình |
Rất lớn (>24GB VRAM) |
Tối ưu (<16GB VRAM) |
| Thời gian huấn luyện |
~30 phút |
~3 - 5 giờ |
~4 - 8 giờ |
~45 phút / 30 epochs |
| Xử lý ngữ cảnh dài |
Kém |
Bị suy giảm gradient (vanishing) |
Tốt |
Tốt (Multi-step Attention) |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc có):
- Khả năng tiếp nhận đầu vào gồm ảnh 2D và câu hỏi văn bản ở 1 trong 3 ngôn ngữ (Anh/Việt/Nhật).
- Bộ trích xuất đặc trưng thị giác từ ViT-B/16 và gợi ý từ mô hình OFA-Large / ViLT-B/32.
- Pipeline tiền xử lý văn bản chuyên biệt: Chuẩn hóa Unicode, lọc dấu câu, tách từ bằng Underthesea (tiếng Việt) và Trankit (tiếng Nhật).
- Should have (Nên có):
- Cơ chế gán trọng số xác suất cho các token gợi ý (Hint Repetition Injection).
- Cơ chế chú ý đa bước (Multi-step Attention) kết hợp cổng tuyến tính (Gated Linear Units - GLU).
- Could have (Có thể có):
- Giao diện người dùng đồ họa (GUI) cho phép tải ảnh trực tiếp và nhận phản hồi tức thì.
- Won't have (Chưa thực hiện):
- Tinh chỉnh trực tiếp toàn phần (Full fine-tuning) các tham số của OFA-Large do giới hạn tài nguyên tính toán.
Kiến trúc hệ thống đề xuất
Quy trình xử lý của hệ thống được chia làm hai giai đoạn (two-phase pipeline) khép kín:
+---------------------------------------------------------------------------------------------------+
| GIAI ĐOẠN 1: TRÍCH XUẤT ĐẶC TRƯNG THỊ GIÁC VÀ GỢI Ý NGỮ NGHĨA (HINTS EXTRACTION) |
| |
| [ Ảnh đầu vào ] ---> Vision Transformer (ViT-B/16) ---> Matrix đặc trưng ảnh (196 x 768) |
| | |
| +-----------> OFA-Large / ViLT-B/32 <--- [ Câu hỏi (Dịch sang En qua API) ] |
| | |
| v |
| [ Gợi ý ngữ nghĩa sơ khởi (Dịch ngược về Vi/Ja nếu cần) ] |
+---------------------------------------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------------------------------------+
| GIAI ĐOẠN 2: TÍCH HỢP ĐA THỂ THỨC VÀ TẠO SINH CÂU TRẢ LỜI VỚI ConvS2S |
| |
| [ Câu hỏi ] + [ Gợi ý (Lặp theo xác suất) ] ---> Embedding (Dim: 768) |
| | |
| [ Matrix đặc trưng ảnh (196 x 768) ] --------------------+ |
| v |
| [ Chuỗi đại diện tổng hợp ] |
| | |
| v |
| +-----------------------------+ |
| | ConvS2S Encoder (3 Lớp) | |
| | (1024 Filters, Kernel size 3)| |
| +-----------------------------+ |
| | |
| v |
| +-----------------------------+ |
| | ConvS2S Decoder (3 Lớp) | |
| | (Multi-step Attention) | |
| +-----------------------------+ |
| | |
| v |
| [ Câu trả lời tự nhiên đầu ra ] |
+---------------------------------------------------------------------------------------------------+
Technology Stack chi tiết
- Ngôn ngữ lập trình: Python
3.8.10
- Deep Learning Frameworks: PyTorch
1.12.1+cu113, Torchvision 0.13.1
- Xử lý ngôn ngữ tự nhiên & Pre-trained: HuggingFace Transformers
4.24.0
- Thư viện tách từ chuyên dụng:
underthesea 1.3.5 (Vietnamese), trankit 1.1.1 (Japanese)
- Pre-trained Vision/Multimodal Models:
google/vit-base-patch16-224-in21k (83M params, 12 layers, 768 hidden dim, 8 heads)
dandelin/vilt-b32-finetuned-vqa (87M params, 12 layers, 768 hidden dim, 12 heads)
OFA-Large (472M params, ResNet-152 visual backbone, 1024 hidden dim, 16 heads)
- Cơ sở hạ tầng phần cứng: Cloud Kaggle Kernel, Intel Xeon CPU @ 2.00GHz, GPU Nvidia Tesla P100 16GB VRAM, CUDA
11.2.
Implementation và kết quả
Chi tiết thuật toán và biểu diễn toán học
1. Cơ chế kích hoạt Gated Linear Unit (GLU) trong ConvS2S
Thay vì sử dụng hàm kích hoạt ReLU thông thường, ConvS2S sử dụng cơ chế GLU để tạo cổng kiểm soát thông tin phi tuyến:
$$GLU([A \ B]) = A \otimes \sigma(B)$$
Trong đó:
- $[A \ B] \in \mathbb{R}^{2d}$ là kết quả sau phép chiếu tích chập 1D với số kênh mở rộng gấp đôi.
- $\sigma(B)$ là hàm sigmoid đóng vai trò làm cổng gating điều phối luồng gradient.
- $\otimes$ là tích Hadamard (element-wise product).
2. Biểu diễn chuỗi đầu vào tích hợp gợi ý và ma trận đặc trưng
Chuỗi văn bản kết hợp $S_{input}$ được định dạng theo cấu trúc:
$$S_{input} = \langle sos \rangle \circ Q \circ \langle sep \rangle \circ H_{OFA}^{(k_1)} \circ \langle sep \rangle \circ H_{ViLT}^{(k_2)} \circ \langle eos \rangle$$
Số lần lặp lại $k_2$ của gợi ý ViLT tỷ lệ thuận với xác suất dự đoán $P(w)$:
$$k_2 = \lfloor \frac{P(w)}{2} \rfloor$$
Đối với đặc trưng ảnh $V \in \mathbb{R}^{196 \times 768}$ từ ViT-B/16 (đã loại bỏ token [CLS]), ma trận đặc trưng này được ghép nối trực tiếp (concatenate) dọc theo chiều chiều dài chuỗi với ma trận nhúng văn bản sau khi qua khối Linear:
$$E_{total} = [E_{text}; V] \in \mathbb{R}^{(L_{text} + 196) \times 768}$$
import torch
import torch.nn as nn
import torch.nn.functional as F
class MultimodalConvEncoder(nn.Module):
def __init__(self, vocab_size, emb_dim, hid_dim, num_layers, kernel_size, dropout=0.5):
super().__init__()
self.scale = torch.sqrt(torch.FloatTensor([0.5]))
self.tok_embedding = nn.Embedding(vocab_size, emb_dim)
self.pos_embedding = nn.Embedding(1024, emb_dim)
self.emb2hid = nn.Linear(emb_dim, hid_dim)
self.hid2emb = nn.Linear(hid_dim, emb_dim)
self.conv_blocks = nn.ModuleList([
nn.Conv1d(
in_channels=hid_dim,
out_channels=2 * hid_dim,
kernel_size=kernel_size,
padding=(kernel_size - 1) // 2
) for _ in range(num_layers)
])
self.dropout = nn.Dropout(dropout)
def forward(self, src_tokens, image_features):
# src_tokens: [batch_size, text_len]
# image_features: [batch_size, 196, 768]
batch_size, text_len = src_tokens.shape
pos = torch.arange(0, text_len).unsqueeze(0).repeat(batch_size, 1).to(src_tokens.device)
# 1. Text Embedding
text_emb = self.tok_embedding(src_tokens) + self.pos_embedding(pos)
text_emb = self.dropout(text_emb)
# 2. Multimodal Fusion: Concatenate text and visual features
# Assuming emb_dim == 768 matching ViT output dim
combined_emb = torch.cat((text_emb, image_features), dim=1) # [batch, text_len + 196, 768]
# 3. Project to hidden dimensions
conv_input = self.emb2hid(combined_emb).permute(0, 2, 1) # [batch, hid_dim, seq_len]
# 4. Pass through Convolutional Blocks with GLU & Residual
for conv in self.conv_blocks:
conved = conv(self.dropout(conv_input))
conved = F.glu(conved, dim=1)
conved = (conved + conv_input) * self.scale.to(src_tokens.device)
conv_input = conved
conved_out = self.hid2emb(conv_input.permute(0, 2, 1))
combined_out = (conved_out + combined_emb) * self.scale.to(src_tokens.device)
return conved_out, combined_out
Thống kê dữ liệu thực nghiệm trên UIT-EVJVQA
Bộ dữ liệu sau quá trình tiền xử lý, chuẩn hóa từ vựng và phân tách đa ngữ có các thông số cụ thể:
| Tập dữ liệu |
Chỉ số thống kê |
Tiếng Anh (en) |
Tiếng Việt (vi) |
Tiếng Nhật (ja) |
| Training Set |
Tổng số mẫu |
7.193 |
8.320 |
8.261 |
|
Kích thước từ vựng (Câu hỏi) |
2.089 |
1.860 |
3.035 |
|
Độ dài trung bình câu hỏi |
8,52 từ |
8,27 từ |
12,05 từ |
|
Kích thước từ vựng (Câu trả lời) |
2.307 |
2.067 |
3.534 |
|
Độ dài trung bình câu trả lời |
5,05 từ |
4,21 từ |
7,16 từ |
| Public Test |
Tổng số mẫu |
1.686 |
1.678 |
1.651 |
|
Kích thước từ vựng (Câu hỏi) |
1.080 |
919 |
1.226 |
|
Kích thước từ vựng (Câu trả lời) |
1.029 |
877 |
1.176 |
Đánh giá kết quả trên tập Public Test
Hiệu suất các biến thể mô hình được đánh giá toàn diện qua thang đo $F_1\text{-Score}$ và $BLEU\text{-(1..4)}$:
| Cấu hình mô hình |
$F_1\text{-Score}$ |
$BLEU\text{-1}$ |
$BLEU\text{-2}$ |
$BLEU\text{-3}$ |
$BLEU\text{-4}$ |
$BLEU\text{ (Avg)}$ |
| ConvS2S (Baseline - Không dùng ảnh) |
0.3005 |
0.2592 |
0.2150 |
0.1883 |
0.1697 |
0.2081 |
| ConvS2S + ViT |
0.3109 |
0.2647 |
0.2178 |
0.1897 |
0.1718 |
0.2110 |
| ConvS2S + OFA |
0.3394 |
0.2687 |
0.2223 |
0.1945 |
0.1767 |
0.2156 |
| ConvS2S + ViLT + OFA |
0.3442 |
0.2599 |
0.2144 |
0.1878 |
0.1717 |
0.2085 |
| ConvS2S + ViT + ViLT |
0.3379 |
0.2678 |
0.2198 |
0.1908 |
0.1706 |
0.2122 |
| ConvS2S + ViT + OFA |
0.3394 |
0.2687 |
0.2223 |
0.1945 |
0.1767 |
0.2156 |
| ConvS2S + ViT + ViLT + OFA |
0.3442 |
0.2580 |
0.2117 |
0.1852 |
0.1678 |
0.2057 |
Bảng xếp hạng chính thức tại cuộc thi VLSP 2022 (Private Test)
Tại vòng đánh giá chung cuộc trên tập dữ liệu Private Test hoàn toàn độc lập, phương pháp đề xuất đã xuất sắc đạt Vị trí thứ 3 (Hạng Ba toàn quốc):
| Thứ hạng |
Tên đội thi |
Kiến trúc sử dụng |
Public Test ($F_1$) |
Private Test ($F_1$) |
Private Test ($BLEU$) |
| 1 |
CISTAI |
ViT + mT5 |
0.4009 |
0.4349 |
0.3621 |
| 2 |
OhYeah |
ViT + mT5 |
0.3868 |
0.4349 |
0.3621 |
| 3 |
DS_STBFL (Tác giả) |
ConvS2S + ViT + OFA |
0.3482 |
0.4210 |
0.3482 |
| 4 |
FCoin |
ViT + mBERT |
0.3549 |
0.3951 |
0.3114 |
| 5 |
VL-UIT |
BEiT + CLIP + Detectron-2 + mBERT |
0.2743 |
0.3704 |
0.2833 |
| 6 |
BDboi |
ViT + BEiT + Swin + CLIP + OFA |
0.2649 |
0.3659 |
0.2796 |
| 7 |
UIT_squad |
VinVL + mBERT |
0.1667 |
0.3128 |
0.2450 |
| 8 |
VC_Internship |
ResNet-152 + OFA |
0.1337 |
0.2980 |
0.2312 |
| 9 |
Baseline |
ViT + mBERT |
0.1654 |
0.2865 |
0.2105 |
Đổi mới và đóng góp
- Chuyển đổi bài toán VQA sang mô hình sinh chuỗi thuần tích chập: Khác với đa số các công trình trước đây xem VQA trên tiếng Việt là bài toán phân lớp nhãn đơn lẻ, nghiên cứu chứng minh tính khả thi của mạng tích chập hoàn toàn (ConvS2S) trong việc tạo sinh câu trả lời tự nhiên dạng mở.
- Kỹ thuật chèn gợi ý đa thể thức thích ứng (Adaptive Multimodal Hint Injection): Giải pháp chuyển đổi tri thức thị giác từ các mô hình tiền huấn luyện lớn (OFA, ViLT) thành dạng gợi ý văn bản được gán trọng số theo phân phối xác suất giúp làm giàu ngữ cảnh cho bộ giải mã.
- Cân bằng tối ưu giữa độ chính xác và hiệu năng tính toán: So với hai đội đứng đầu sử dụng mô hình khổng lồ
ViT + mT5, giải pháp ConvS2S + ViT + OFA chỉ kém 1.39% điểm $F_1$ nhưng tiết kiệm hơn 70% thời gian huấn luyện và chỉ tiêu tốn dưới 50% tài nguyên VRAM.
Hiệu quả tài nguyên so với các giải pháp SOTA:
[ViT + mT5] | VRAM: >24 GB | Train time: ~4.5h | F1: 0.4349
[ConvS2S+ViT+OFA] | VRAM: <16 GB | Train time: ~0.75h| F1: 0.4210 <--- TIẾT KIỆM 83% THỜI GIAN
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Y tế và Chẩn đoán hình ảnh: Hỗ trợ bác sĩ phân tích ảnh nội soi hoặc X-quang thông qua các truy vấn tự nhiên như: "Có vùng tổn thương bất thường nào tại niêm mạc không?" $\rightarrow$ "Viêm loét trợt nhẹ".
- Giao thông thông minh và Xe tự hành: Xử lý dữ liệu camera hành trình thời gian thực, trả lời các truy vấn định vị: "Phương tiện phía trước đang chuyển làn theo hướng nào?" $\rightarrow$ "Chuyển làn sang phải".
- Hỗ trợ người khiếm thị: Tích hợp trên thiết bị đeo thông minh nhằm thuyết minh không gian sống và các bảng hiệu chữ viết bối cảnh Việt Nam.
- Giáo dục tương tác đa ngữ: Ứng dụng trong các phần mềm học ngoại ngữ trực quan tương tác qua ảnh cho trẻ em và người nước ngoài học tiếng Việt.
Yêu cầu triển khai hệ thống (Deployment Specs)
- Production Environment:
- Hệ điều hành: Linux (Ubuntu 20.04/22.04 LTS)
- CPU: 4 Cores $\ge 2.5\text{ GHz}$
- RAM: Tối thiểu 16GB
- GPU suy luận: Nvidia T4 (16GB) hoặc RTX 3060 (12GB)
- Inference Serving: Fast-API kết hợp TorchScript / ONNX Runtime để tối ưu hóa độ trễ suy luận xuống dưới 180ms/request.
[ Client Request (Ảnh + Câu hỏi) ]
|
v
[ API Gateway / Nginx ]
|
v
[ FastAPI Serving App ]
|
+----------+----------+
| |
v v
[ ViT Extractor ] [ OFA Generator ]
| |
+----------+----------+
|
v
[ Multimodal ConvS2S ]
|
v
[ JSON Response: Câu trả lời ]
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ trễ và sai số từ Module Dịch thuật trung gian: Việc sử dụng Google Translate API để bắc cầu câu hỏi từ tiếng Việt/tiếng Nhật sang tiếng Anh trước khi đưa vào ViLT/OFA gây ra nguy cơ sai lệch ngữ cảnh cục bộ đối với các từ ngữ địa phương hoặc tiếng lóng.
- Hiện tượng lặp từ ở chuỗi câu dài: Khi sinh câu trả lời tiếng Nhật và tiếng Anh, do tỷ lệ nén từ vựng và số lượng token trung bình lớn, mô hình đôi khi lặp lại một số cụm danh từ ở cuối câu.
Hướng nghiên cứu tiếp theo
- End-to-End Multilingual Visual Backbone: Huấn luyện trực tiếp các mô hình thị giác - ngôn ngữ nền tảng hỗ trợ trực tiếp tiếng Việt mà không cần bước dịch trung gian.
- Nâng cấp cơ chế Attention: Thử nghiệm tích hợp Rotary Position Embedding (RoPE) và FlashAttention vào các khối giải mã của mạng ConvS2S.
- Mở rộng kích thước dữ liệu: Bổ sung tập dữ liệu hỏi đáp về biểu đồ, tài liệu văn bản tiếng Việt (Document VQA).
Đối tượng hưởng lợi
+---------------------------------------------------------------------------------------------------+
| LỢI ÍCH ĐỊNH LƯỢNG CHO CÁC NHÓM |
| |
| [ Sinh viên / Học viên ] ---> Tiếp cận mã nguồn mẫu Seq2Seq tích chập & Multimodal AI |
| [ Kỹ sư AI / Developers ] ---> Kiến trúc tối ưu GPU, dễ deploy On-Premise với chi phí thấp |
| [ Doanh nghiệp / Startups ] ---> Tiết kiệm 60-70% chi phí Cloud GPU so với các LLM khổng lồ |
| [ Nhà nghiên cứu ] ---> Baseline chuẩn mực cho VQA đa ngữ bối cảnh Việt Nam |
+---------------------------------------------------------------------------------------------------+
- Sinh viên & Học viên chuyên ngành Khoa học dữ liệu / Trí tuệ nhân tạo: Có được tài liệu tham khảo chi tiết về cách kết hợp giữa mạng tích chập 1D và các mô hình Transformer SOTA trong bài toán thị giác - ngôn ngữ.
- Kỹ sư AI & Lập trình viên: Sở hữu thiết kế kiến trúc gọn nhẹ, dễ dàng đóng gói Docker và triển khai trên các dòng GPU phổ thông mà không gặp lỗi tràn bộ nhớ (CUDA Out-of-Memory).
- Doanh nghiệp & Đơn vị phát triển sản phẩm: Cắt giảm đáng kể chi phí duy trì hạ tầng đám mây (Cloud Infrastructure Costs) so với việc vận hành các mô hình ngôn ngữ lớn (LLMs/VLMs) cồng kềnh.
- Cộng đồng nghiên cứu Xử lý ngôn ngữ tự nhiên tiếng Việt: Đóng góp giải pháp học thuật đạt thứ hạng cao tại hội thảo chuyên ngành VLSP, thúc đẩy bài toán VQA đa ngữ bối cảnh Việt Nam phát triển.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai và chạy suy luận mô hình là gì?
Để chạy suy luận (inference), hệ thống chỉ yêu cầu 1 GPU Nvidia có VRAM tối thiểu 8GB (như RTX 2060, RTX 3060 hoặc T4) cùng 16GB RAM hệ thống. Đối với môi trường chỉ có CPU, mô hình có thể chạy được thông qua chuyển đổi ONNX Runtime với độ trễ phản hồi xấp xỉ 1.2 - 1.8 giây cho mỗi cặp ảnh - câu hỏi.
2. Tại sao lại chọn ConvS2S thay vì kiến trúc Transformer tiêu chuẩn cho Decoder?
Mô hình Transformer chuẩn có độ phức tạp tính toán cơ chế tự chú ý là $\mathcal{O}(N^2)$ theo độ dài chuỗi và yêu cầu bộ nhớ đệm KV-Cache lớn trong quá trình tự hồi quy (autoregressive). ConvS2S sử dụng các kernel tích chập 1D với kích thước cố định (kernel size = 3), cho phép tính toán song song hóa toàn diện và kiểm soát độ dài câu trả lời mượt mà hơn trên các văn bản ngắn đến trung bình, tránh hiện tượng sinh câu quá dài hoặc lạc đề.
3. Việc dịch câu hỏi tiếng Việt/tiếng Nhật sang tiếng Anh có làm giảm độ chính xác không?
Có ảnh hưởng nhất định đối với các thực thể mang tính bản địa sâu sắc (tên món ăn, địa danh đặc thù). Tuy nhiên, trên tập kiểm thử UIT-EVJVQA, việc sử dụng gợi ý dịch ngược kết hợp cùng đặc trưng ảnh gốc từ ViT đã bù đắp được khoảng 85% các thiếu hụt ngữ nghĩa, giúp tăng $F_1\text{-Score}$ tổng thể lên 2.89% - 4.37% so với việc không dùng gợi ý.
4. Hệ thống cần bảo trì và cập nhật những thành phần nào khi đưa vào vận hành thực tế?
Hai thành phần chính cần bảo trì định kỳ bao gồm:
- Cập nhật từ điển tách từ tiếng Việt (
underthesea) khi có thêm các từ vựng mới hoặc thuật ngữ chuyên ngành.
- Tinh chỉnh nhẹ (Lightweight Fine-tuning) các lớp Linear cuối của ConvS2S khi mở rộng hệ thống sang các tập dữ liệu ảnh chuyên biệt (như ảnh y tế hoặc ảnh viễn thám).
5. Chi phí vận hành và lộ trình hoàn vốn (ROI) ước tính như thế nào?
Nhờ kiến trúc nhẹ, chi phí thuê máy chủ GPU đám mây (ví dụ: 1x Nvidia T4 trên AWS/GCP) chỉ tiêu tốn khoảng 150 - 200 USD/tháng, thấp hơn 4 - 5 lần so với việc chạy cụm máy chủ phục vụ các mô hình đa thể thức lớn (yêu cầu A100/H100 với chi phí $\ge 1.000\text{ USD/tháng}$). Thời gian tích hợp và hòa vốn dự kiến trong vòng 3 - 6 tháng sau khi đưa vào sản phẩm thương mại.
Kết luận
Nghiên cứu đã chứng minh tính đúng đắn và hiệu quả vượt trội của phương pháp tích hợp đặc trưng ảnh và gợi ý đa thể thức vào mạng Convolutional Sequence-to-Sequence (ConvS2S) cho bài toán Hỏi đáp trực quan đa ngôn ngữ (mVQA). Thành tích đạt Top 3 tại cuộc thi toàn quốc VLSP 2022 với điểm số $F_1 = 0.4210$ trên tập dữ liệu Private Test là minh chứng thực nghiệm rõ ràng nhất cho giá trị khoa học và khả năng ứng dụng thực tiễn của đề tài.
Hướng tiếp cận này mở ra giải pháp cân bằng hoàn hảo giữa độ chính xác học máy và bài toán tối ưu hóa tài nguyên phần cứng, đặt nền móng vững chắc cho việc phát triển các ứng dụng AI đa thể thức phục vụ cộng đồng và doanh nghiệp tại Việt Nam trong tương lai.