[
{
 "id": 2181,
 "slug": "latency-throughput-ai-la-gi",
 "title": "Độ trễ và thông lượng AI là gì? Đọc thông số thế nào cho đúng",
 "meta_desc": "Độ trễ và thông lượng AI là gì: giải thích TTFT, token/giây, số yêu cầu đồng thời, cách đọc thông số khi chọn API, GPU hoặc server AI nội bộ cho doanh nghiệp.",
 "excerpt": "Hai hệ thống AI cùng dùng một mô hình có thể cho cảm giác nhanh chậm rất khác nhau. Lý do nằm ở độ trễ và thông lượng. Hiểu đúng hai thông số này giúp bạn chọn API, GPU hay server phù hợp, và không bị đánh lừa bởi con số quảng cáo.",
 "answer": "Độ trễ (latency) là thời gian người dùng phải chờ, thường đo bằng thời gian đến token đầu tiên (TTFT) và tổng thời gian hoàn thành câu trả lời. Thông lượng (throughput) là lượng việc hệ thống xử lý được trong một đơn vị thời gian, ví dụ tổng số token mỗi giây hoặc số yêu cầu mỗi phút cho tất cả người dùng cộng lại. Một người dùng quan tâm độ trễ; người vận hành phục vụ cả công ty quan tâm thông lượng. Hai chỉ số thường đánh đổi nhau: tăng số người dùng đồng thời giúp thông lượng tăng nhưng mỗi người có thể chờ lâu hơn.",
 "kws": ["độ trễ và thông lượng AI", "latency throughput là gì", "token mỗi giây", "TTFT là gì", "tốc độ mô hình AI"],
 "sections": [
  {"h2": "Độ trễ và thông lượng AI là gì", "html": "<p>Độ trễ và thông lượng AI là hai cách nhìn khác nhau về tốc độ của cùng một hệ thống. Hãy hình dung một quán phở: độ trễ là thời gian một khách chờ từ lúc gọi món đến lúc có tô phở; thông lượng là số tô quán phục vụ được mỗi giờ. Quán có thể bán rất nhiều tô mỗi giờ nhưng giờ cao điểm từng khách vẫn chờ lâu.</p><p>Với AI tạo sinh, câu trả lời được sinh dần từng token, nên độ trễ có nhiều lớp:</p><ul><li><strong>Thời gian đến token đầu tiên (TTFT):</strong> khoảng chờ trước khi chữ đầu tiên hiện ra. Mô hình cần đọc hết prompt trước khi viết, nên prompt càng dài TTFT càng lớn.</li><li><strong>Tốc độ sinh (token/giây cho mỗi người):</strong> chữ hiện ra nhanh hay chậm sau khi đã bắt đầu.</li><li><strong>Tổng thời gian:</strong> TTFT cộng thời gian sinh toàn bộ câu trả lời.</li></ul><p>Thông lượng thì đo ở cấp hệ thống: tổng token mỗi giây cho tất cả người dùng, hoặc số yêu cầu hoàn thành mỗi phút. Một máy chủ có thể phục vụ 20 người cùng lúc với thông lượng cao, trong khi mỗi người thấy chữ chạy chậm hơn so với lúc chỉ có một mình.</p>"},
  {"h2": "Các chỉ số tốc độ thường gặp và ý nghĩa", "html": "<p>Khi đọc trang tài liệu API, bài đánh giá GPU hay báo cáo của công cụ chạy mô hình, bạn sẽ gặp các thuật ngữ sau. Cách gọi có thể khác nhau giữa nguồn, nên luôn xem họ đo trong điều kiện nào.</p>", "table": {"caption": "Thuật ngữ tốc độ AI và cách hiểu", "head": ["Chỉ số", "Đo cái gì", "Ai quan tâm", "Ảnh hưởng lớn nhất"], "rows": [["TTFT", "Thời gian chờ chữ đầu tiên", "Người dùng chat, voice bot", "Độ dài prompt, tải máy chủ"], ["Token/giây mỗi luồng", "Tốc độ chữ chạy cho một người", "Người dùng cuối", "Băng thông bộ nhớ GPU, kích thước mô hình"], ["Tổng token/giây", "Năng lực toàn hệ thống", "Người vận hành, IT", "Số yêu cầu đồng thời, phần mềm phục vụ"], ["Yêu cầu/phút", "Số tác vụ xong mỗi phút", "Quy trình xử lý hàng loạt", "Độ dài trung bình đầu vào, đầu ra"], ["Độ trễ p95", "Thời gian mà 95% yêu cầu nhanh hơn", "Người thiết kế dịch vụ", "Giờ cao điểm, yêu cầu dài bất thường"]]}},
  {"h2": "Điều gì quyết định độ trễ và thông lượng", "html": "<p>Nhiều yếu tố cộng lại, nhưng có thể gom thành bốn nhóm chính.</p><h3>Kích thước mô hình và lượng tử hóa</h3><p>Mô hình càng nhiều tham số, mỗi token càng tốn tính toán và đọc bộ nhớ. Lượng tử hóa xuống 4-bit hoặc 8-bit giúp giảm dung lượng, thường tăng tốc độ trên cùng phần cứng nhưng có thể giảm nhẹ chất lượng.</p><h3>Phần cứng</h3><p>Ở giai đoạn sinh token, tốc độ thường bị giới hạn bởi băng thông bộ nhớ GPU hơn là sức tính toán thuần. Đó là lý do GPU có VRAM nhanh cho tốc độ token/giây cao hơn rõ rệt so với chạy bằng CPU và RAM thường.</p><h3>Độ dài ngữ cảnh</h3><p>Prompt dài, nhiều tài liệu đính kèm làm TTFT tăng và chiếm thêm bộ nhớ cho KV cache, từ đó giảm số người phục vụ được cùng lúc.</p><h3>Phần mềm phục vụ</h3><p>Các công cụ như vLLM dùng kỹ thuật gom lô liên tục (continuous batching) để tăng thông lượng khi nhiều người dùng, còn Ollama ưu tiên dễ cài cho một người hoặc nhóm nhỏ. Cùng mô hình, cùng GPU, phần mềm khác nhau có thể cho thông lượng chênh nhau đáng kể.</p>"},
  {"h2": "Đọc thông số quảng cáo sao cho không bị nhầm", "html": "<p>Con số 'X token/giây' xuất hiện khắp nơi, nhưng thiếu ngữ cảnh thì gần như vô nghĩa. Trước khi so sánh, hãy hỏi đủ các câu sau:</p><ol><li><strong>Đo cho một người hay tổng nhiều người?</strong> 1.000 token/giây tổng cho 50 luồng khác hẳn 1.000 token/giây cho một luồng.</li><li><strong>Mô hình nào, lượng tử hóa mức nào?</strong> Bản 4-bit nhanh hơn bản 16-bit của cùng mô hình.</li><li><strong>Độ dài prompt và đầu ra bao nhiêu?</strong> Thử với prompt 100 token cho kết quả đẹp hơn nhiều so với prompt 8.000 token.</li><li><strong>Đo TTFT hay chỉ đo tốc độ sinh?</strong> Nhiều bảng chỉ khoe tốc độ sinh, bỏ qua thời gian chờ ban đầu.</li><li><strong>Phiên bản phần mềm, driver nào?</strong> Hiệu năng thay đổi theo bản cập nhật.</li></ol><p>Với API thương mại, tốc độ còn dao động theo giờ trong ngày và tải chung của nhà cung cấp. Nếu cần cam kết, hãy xem các gói có mức dịch vụ rõ ràng và tự đo trong khung giờ làm việc thật của công ty.</p><p>Nguyên tắc chung: <strong>chỉ tin con số bạn tự đo với dữ liệu của mình</strong>, còn số liệu công bố dùng để khoanh vùng lựa chọn.</p>"},
  {"h2": "Bao nhiêu là đủ nhanh cho từng ứng dụng", "html": "<p>Không phải ứng dụng nào cũng cần nhanh như nhau. Đặt yêu cầu đúng giúp tránh đầu tư thừa.</p><ul><li><strong>Chatbot trên website, Zalo:</strong> người dùng chủ yếu cảm nhận TTFT. Chữ bắt đầu hiện trong khoảng 1–2 giây thường tạo cảm giác phản hồi tốt; tốc độ chữ chạy chỉ cần nhanh hơn tốc độ đọc.</li><li><strong>Voice bot tổng đài:</strong> nhạy cảm nhất với độ trễ vì có thêm bước nhận dạng giọng nói và đọc lại. Khoảng lặng dài khiến khách nghĩ cuộc gọi bị rớt.</li><li><strong>Trợ lý nội bộ cho 20–50 nhân viên:</strong> cần cân bằng; ước lượng số người dùng đồng thời giờ cao điểm, thường thấp hơn nhiều so với tổng nhân sự.</li><li><strong>Xử lý hàng loạt ban đêm:</strong> phân loại hàng nghìn email, tóm tắt hồ sơ. Độ trễ từng yêu cầu gần như không quan trọng, thông lượng và chi phí mới là chính.</li></ul><h3>Ví dụ ước lượng</h3><p>Công ty 40 người, giờ cao điểm khoảng 6–8 người hỏi cùng lúc, mỗi câu trả lời khoảng 300–500 token. Bạn cần hệ thống giữ tốc độ dễ chịu cho khoảng 8 luồng song song, không cần phục vụ 40 luồng. Ước lượng này giúp chọn đúng cỡ GPU thay vì mua quá lớn.</p>"},
  {"h2": "Cách tự đo độ trễ và thông lượng", "html": "<p>Bạn có thể tự đo mà không cần công cụ phức tạp.</p><h3>Chuẩn bị</h3><ul><li>Bộ 20–50 prompt mẫu lấy từ công việc thật, đủ cả ngắn và dài.</li><li>Ghi lại mô hình, mức lượng tử hóa, phần mềm và phiên bản.</li></ul><h3>Các bước</h3><ol><li>Bật chế độ streaming, ghi thời điểm gửi yêu cầu và thời điểm nhận token đầu tiên để có TTFT.</li><li>Đếm số token đầu ra chia cho thời gian sinh để có token/giây mỗi luồng. Nhiều công cụ như Ollama hiển thị sẵn thông số này ở chế độ chi tiết.</li><li>Chạy lại với 1, 4, 8, 16 yêu cầu đồng thời, ghi tổng token/giây và TTFT trung bình.</li><li>Tính độ trễ p95 thay vì chỉ nhìn trung bình.</li></ol><h3>Kiểm tra kết quả</h3><p>Vẽ bảng đơn giản: số luồng đồng thời ở cột trái, TTFT và token/giây mỗi luồng ở các cột sau. Điểm mà TTFT bắt đầu tăng vọt chính là giới hạn thực tế của hệ thống. Hãy vận hành ở mức thấp hơn điểm đó để dự phòng giờ cao điểm.</p>"},
  {"h2": "Cách cải thiện tốc độ và lỗi thường gặp", "html": "<p>Khi hệ thống chậm, đừng vội nâng cấp phần cứng. Thử các cách sau trước:</p><ul><li><strong>Rút gọn prompt:</strong> bỏ hướng dẫn lặp, chỉ đưa đoạn tài liệu liên quan thay vì cả file.</li><li><strong>Giới hạn độ dài đầu ra:</strong> yêu cầu trả lời ngắn gọn, đặt số token tối đa hợp lý.</li><li><strong>Dùng prompt caching:</strong> phần mở đầu cố định được lưu đệm giúp giảm TTFT trên các nền tảng hỗ trợ.</li><li><strong>Chọn mô hình vừa đủ:</strong> phân loại email không cần mô hình lớn nhất.</li><li><strong>Đổi phần mềm phục vụ:</strong> khi nhiều người dùng, công cụ hỗ trợ batching tốt cho thông lượng cao hơn.</li><li><strong>Đẩy việc không gấp sang xử lý hàng loạt:</strong> giải phóng tài nguyên cho người dùng trực tiếp.</li></ul><h3>Lỗi thường gặp</h3><ul><li>Đo khi máy rảnh rồi kết luận cho giờ cao điểm.</li><li>So sánh tốc độ giữa hai mô hình khác mức lượng tử hóa.</li><li>Mô hình tràn VRAM, phải chia sang RAM hệ thống khiến tốc độ giảm mạnh mà không ai để ý.</li><li>Bỏ qua độ trễ mạng khi máy chủ AI đặt ở chi nhánh khác hoặc đường truyền yếu.</li></ul>"}
 ],
 "tip": "Trước khi mua GPU hay chọn gói API, hãy viết ra hai con số: số người dùng đồng thời giờ cao điểm và thời gian chờ tối đa chấp nhận được. Hai con số này định hướng cấu hình tốt hơn mọi bảng benchmark.",
 "faq": [
  {"q": "Token mỗi giây bao nhiêu là nhanh?", "a": "Phụ thuộc mục đích. Với chat, tốc độ nhanh hơn tốc độ đọc của người dùng đã đủ thoải mái; với xử lý hàng loạt, nên nhìn tổng thông lượng của hệ thống."},
  {"q": "Vì sao AI trả lời chậm khi tôi dán tài liệu dài?", "a": "Mô hình phải đọc toàn bộ phần đầu vào trước khi viết chữ đầu tiên, nên prompt dài làm thời gian chờ ban đầu tăng. Hãy chỉ đưa đoạn liên quan hoặc dùng RAG."},
  {"q": "Độ trễ và thông lượng cái nào quan trọng hơn?", "a": "Với ứng dụng tương tác trực tiếp như chatbot, voice bot thì độ trễ quan trọng hơn. Với xử lý hàng loạt như phân loại hồ sơ, thông lượng và chi phí quan trọng hơn."},
  {"q": "Chạy AI bằng CPU có quá chậm không?", "a": "Mô hình nhỏ đã lượng tử hóa vẫn chạy được trên CPU cho một người dùng, nhưng tốc độ thấp hơn đáng kể so với GPU. Phục vụ nhiều người cùng lúc thì nên có GPU."},
  {"q": "TTFT là gì?", "a": "TTFT là Time To First Token, thời gian từ lúc gửi câu hỏi đến khi nhận token đầu tiên. Đây là chỉ số quyết định cảm giác 'AI phản hồi nhanh hay chậm'."},
  {"q": "Mạng internet có ảnh hưởng tốc độ AI không?", "a": "Có, đặc biệt với API đặt ở nước ngoài hoặc máy chủ nội bộ truy cập từ xa. Độ trễ mạng cộng thêm vào TTFT, nên hãy đo cả từ máy người dùng thật."}
 ],
 "sources": [
  {"t": "vLLM – tài liệu chính thức", "u": "https://docs.vllm.ai"},
  {"t": "NVIDIA Developer", "u": "https://developer.nvidia.com"},
  {"t": "Ollama – trang chính thức", "u": "https://ollama.com"}
 ],
 "related": ["vllm-la-gi", "ollama-vs-vllm", "vram-bao-nhieu-de-chay-llm", "quantization-la-gi", "prompt-caching-la-gi", "batch-api-la-gi", "gpu-cloud-vs-server-tai-cho", "context-window-la-gi"]
},
{
 "id": 2182,
 "slug": "model-card-la-gi",
 "title": "Model card là gì? Đọc thẻ mô hình trước khi dùng AI",
 "meta_desc": "Model card là gì: tài liệu mô tả mục đích, dữ liệu, giới hạn và rủi ro của mô hình AI. Hướng dẫn đọc model card trong 10 phút trước khi đưa mô hình vào công việc.",
 "excerpt": "Trước khi dùng một loại thuốc, ta đọc tờ hướng dẫn. Trước khi dùng một mô hình AI, tài liệu tương đương chính là model card. Bài này giải thích model card chứa gì, đọc phần nào trước, và những dấu hiệu cảnh báo mà doanh nghiệp cần chú ý.",
 "answer": "Model card (thẻ mô hình) là tài liệu đi kèm một mô hình AI, mô tả mô hình làm gì, được huấn luyện ra sao, phù hợp và không phù hợp với mục đích nào, kết quả đánh giá, giới hạn và rủi ro đã biết. Khái niệm này được đề xuất trong một bài nghiên cứu năm 2018 và nay là chuẩn phổ biến trên Hugging Face cũng như tài liệu của các hãng lớn. Với doanh nghiệp, đọc model card là bước bắt buộc trước khi chọn mô hình: nó cho biết giấy phép, ngôn ngữ hỗ trợ, độ dài ngữ cảnh và những việc nhà phát triển khuyên không nên làm.",
 "kws": ["model card là gì", "thẻ mô hình AI", "đọc model card", "tài liệu mô hình AI", "model card Hugging Face"],
 "sections": [
  {"h2": "Model card là gì và ra đời để làm gì", "html": "<p>Model card là một bản 'lý lịch' ngắn gọn của mô hình AI. Ý tưởng xuất phát từ bài báo 'Model Cards for Model Reporting' của nhóm nhà nghiên cứu tại Google, đề xuất rằng mỗi mô hình phát hành ra công chúng nên đi kèm một tài liệu chuẩn hóa về mục đích sử dụng, cách đánh giá và các giới hạn.</p><p>Lý do rất thực tế: mô hình AI không có 'nhãn dán' bên ngoài. Hai tệp trọng số trông giống hệt nhau có thể đến từ hai mô hình được huấn luyện cho hai mục đích khác nhau, với điểm mạnh, điểm yếu khác nhau. Không có model card, người dùng phải đoán.</p><p>Hiện nay model card xuất hiện ở nhiều dạng:</p><ul><li><strong>Trang README trên Hugging Face</strong> của từng mô hình mở.</li><li><strong>Tài liệu 'system card' hoặc 'model card'</strong> mà các hãng như OpenAI, Anthropic, Google công bố cho mô hình thương mại, thường tập trung vào đánh giá an toàn.</li><li><strong>Trang thông số kỹ thuật</strong> trong tài liệu API, liệt kê độ dài ngữ cảnh, giới hạn đầu ra, ngày cắt dữ liệu.</li></ul><p>Mức độ chi tiết khác nhau rất nhiều. Một model card tốt giúp bạn quyết định nhanh; một model card sơ sài là tín hiệu cần thận trọng.</p>"},
  {"h2": "Một model card thường gồm những phần nào", "html": "<p>Không có mẫu bắt buộc duy nhất, nhưng phần lớn model card nghiêm túc có các mục dưới đây. Nếu thiếu nhiều mục, hãy coi đó là điểm trừ khi đánh giá.</p>", "table": {"caption": "Các mục thường có trong model card", "head": ["Mục", "Nội dung", "Câu hỏi doanh nghiệp cần trả lời"], "rows": [["Thông tin cơ bản", "Tên, phiên bản, nhà phát triển, giấy phép", "Có được dùng thương mại không?"], ["Mục đích sử dụng", "Việc nên dùng và không nên dùng", "Việc của mình có nằm trong phạm vi khuyến nghị?"], ["Dữ liệu huấn luyện", "Nguồn, ngôn ngữ, thời điểm cắt dữ liệu", "Mô hình có hiểu tiếng Việt, kiến thức đến khi nào?"], ["Đánh giá", "Bộ benchmark, kết quả, điều kiện đo", "Kết quả có đo trên việc giống mình không?"], ["Giới hạn và rủi ro", "Thiên lệch, ảo giác, lỗ hổng đã biết", "Rủi ro nào ảnh hưởng khách hàng của mình?"], ["Thông số kỹ thuật", "Số tham số, ngữ cảnh, định dạng, cách chạy", "Phần cứng hiện có chạy được không?"]]}},
  {"h2": "Đọc model card trong 10 phút: thứ tự nên theo", "html": "<p>Model card có thể dài hàng chục trang. Bạn không cần đọc hết, chỉ cần đi đúng thứ tự để loại sớm mô hình không phù hợp.</p><ol><li><strong>Giấy phép (1 phút):</strong> không cho dùng thương mại thì dừng, dù mô hình hay đến đâu.</li><li><strong>Mục đích sử dụng và 'out-of-scope use' (2 phút):</strong> nếu nhà phát triển ghi rõ không khuyến nghị cho tư vấn y tế, pháp lý mà việc của bạn gần lĩnh vực đó, hãy cân nhắc lại.</li><li><strong>Ngôn ngữ (1 phút):</strong> tìm xem tiếng Việt có được liệt kê không. Không có tên trong danh sách không có nghĩa là không dùng được, nhưng chất lượng chưa được cam kết.</li><li><strong>Thông số kỹ thuật (2 phút):</strong> độ dài ngữ cảnh, kích thước, định dạng tệp, yêu cầu phần cứng.</li><li><strong>Giới hạn và rủi ro (2 phút):</strong> đọc kỹ phần này, đây là chỗ nhà phát triển nói thật nhất.</li><li><strong>Kết quả đánh giá (2 phút):</strong> xem họ đo trên bộ dữ liệu nào, có liên quan việc của bạn không.</li></ol><p>Sau 10 phút, bạn nên trả lời được: có hợp pháp để dùng không, có hợp việc không, có chạy được không. Nếu cả ba là 'có', chuyển sang bước thử nghiệm với dữ liệu thật.</p>"},
  {"h2": "Dấu hiệu cảnh báo trong model card", "html": "<p>Một số chi tiết cho thấy bạn nên dè chừng hoặc kiểm tra kỹ hơn:</p><ul><li><strong>Không ghi giấy phép hoặc ghi mâu thuẫn:</strong> ví dụ phần đầu ghi Apache 2.0 nhưng tệp LICENSE đi kèm là giấy phép riêng có hạn chế.</li><li><strong>Chỉ khoe điểm benchmark, không có phần giới hạn:</strong> mô hình nào cũng có điểm yếu; im lặng về điều này là dấu hiệu thiếu minh bạch.</li><li><strong>Bản tải lại từ tài khoản lạ:</strong> nhiều mô hình được người dùng khác chuyển đổi định dạng, lượng tử hóa rồi đăng lại. Hãy đối chiếu với model card gốc của nhà phát triển.</li><li><strong>Không có ngày cắt dữ liệu:</strong> bạn không biết mô hình có biết các quy định, sản phẩm mới hay không.</li><li><strong>Kết quả đánh giá không nêu điều kiện:</strong> không rõ số lần thử, cách chấm, phiên bản bộ test.</li><li><strong>Mô tả quá đà:</strong> các tuyên bố như 'tốt nhất mọi tác vụ' mà không có dẫn chứng cụ thể.</li></ul><p>Gặp một dấu hiệu chưa phải lý do loại bỏ ngay, nhưng gặp nhiều dấu hiệu cùng lúc thì nên chọn mô hình khác có tài liệu rõ ràng hơn.</p>"},
  {"h2": "Ví dụ: chọn mô hình cho chatbot hỗ trợ khách hàng", "html": "<p>Một cửa hàng bán linh kiện máy tính tại TP.HCM muốn chạy chatbot trả lời câu hỏi về bảo hành trên máy chủ nội bộ. Đội IT lọc được ba mô hình mở cỡ vừa. Đọc model card giúp họ quyết định như sau:</p><ul><li><strong>Mô hình A:</strong> giấy phép chỉ cho nghiên cứu. Loại ngay dù điểm benchmark cao nhất.</li><li><strong>Mô hình B:</strong> giấy phép thương mại, tiếng Việt có trong danh sách ngôn ngữ, ngữ cảnh đủ dài để nhét chính sách bảo hành. Phần giới hạn ghi rõ dễ trả lời tự tin khi thiếu thông tin. Giữ lại và lưu ý cần RAG cùng câu từ chối khi không chắc.</li><li><strong>Mô hình C:</strong> giấy phép ổn nhưng không nhắc tiếng Việt, kích thước lớn vượt VRAM hiện có. Để dự phòng.</li></ul><p>Sau đó đội IT thử mô hình B với 30 câu hỏi thật từ fanpage, chấm điểm từng câu và quyết định triển khai thử nghiệm. Model card không thay được bước thử nghiệm, nhưng giúp tiết kiệm nhiều ngày công thử những mô hình vốn không phù hợp.</p>"},
  {"h2": "Doanh nghiệp tự viết model card cho ứng dụng AI nội bộ", "html": "<p>Model card không chỉ để đọc. Khi công ty tự tinh chỉnh mô hình hoặc xây chatbot nội bộ, viết một model card ngắn là cách quản trị đơn giản và hiệu quả. Tài liệu này giúp người mới tiếp quản hiểu hệ thống, và là căn cứ khi có câu hỏi từ khách hàng, đối tác hay kiểm toán.</p><h3>Mẫu tối giản một trang</h3><ul><li><strong>Tên và phiên bản:</strong> 'Trợ lý chính sách nhân sự v1.2'.</li><li><strong>Mô hình nền:</strong> tên, phiên bản, giấy phép.</li><li><strong>Dữ liệu sử dụng:</strong> sổ tay nhân sự, quy chế lương thưởng bản công khai; không dùng hồ sơ cá nhân.</li><li><strong>Mục đích:</strong> trả lời câu hỏi chính sách cho nhân viên.</li><li><strong>Không dùng cho:</strong> quyết định kỷ luật, đánh giá cá nhân.</li><li><strong>Kết quả kiểm thử:</strong> bộ 50 câu hỏi, tỷ lệ trả lời đúng theo đánh giá của phòng nhân sự.</li><li><strong>Rủi ro đã biết và cách giảm:</strong> có thể trích sai điều khoản cũ; luôn kèm nguồn tài liệu.</li><li><strong>Người phụ trách và ngày cập nhật.</strong></li></ul><p>Cập nhật model card mỗi khi đổi mô hình nền, đổi dữ liệu hoặc thay đổi phạm vi sử dụng.</p>"}
 ],
 "tip": "Hãy biến việc đọc model card thành một bước bắt buộc trong quy trình duyệt công cụ AI của công ty: không có phiếu tóm tắt model card, không đưa mô hình vào dùng với dữ liệu thật.",
 "faq": [
  {"q": "Model card và system card khác nhau thế nào?", "a": "Hai tên gọi thường dùng thay nhau. System card hay được dùng cho hệ thống hoàn chỉnh gồm mô hình cộng các lớp an toàn, và thường tập trung nhiều vào đánh giá rủi ro."},
  {"q": "Tìm model card ở đâu?", "a": "Với mô hình mở, xem trang mô hình trên Hugging Face hoặc kho GitHub chính thức. Với mô hình thương mại, xem mục tài liệu, nghiên cứu hoặc an toàn trên website nhà phát triển."},
  {"q": "Model card có đáng tin hoàn toàn không?", "a": "Model card do chính nhà phát triển viết nên phản ánh góc nhìn của họ. Hãy dùng nó để khoanh vùng, sau đó tự thử nghiệm với dữ liệu và câu hỏi thật của công ty."},
  {"q": "Không biết tiếng Anh có đọc được model card không?", "a": "Phần lớn model card viết bằng tiếng Anh. Bạn có thể nhờ AI dịch và tóm tắt, nhưng nên tự đọc kỹ đoạn giấy phép gốc hoặc nhờ người có chuyên môn xác nhận."},
  {"q": "Mô hình không có model card có nên dùng không?", "a": "Nên tránh cho công việc thật, đặc biệt khi xử lý dữ liệu khách hàng. Thiếu model card nghĩa là thiếu thông tin về giấy phép, giới hạn và rủi ro."},
  {"q": "Model card có nói mô hình chạy cần bao nhiêu VRAM không?", "a": "Một số có, đa số chỉ ghi số tham số và định dạng. Bạn có thể ước lượng VRAM từ số tham số, mức lượng tử hóa và độ dài ngữ cảnh."}
 ],
 "sources": [
  {"t": "Mitchell et al., Model Cards for Model Reporting – arXiv", "u": "https://arxiv.org/abs/1810.03993"},
  {"t": "Hugging Face – Model Cards documentation", "u": "https://huggingface.co/docs/hub/model-cards"},
  {"t": "NIST AI Risk Management Framework", "u": "https://www.nist.gov/itl/ai-risk-management-framework"}
 ],
 "related": ["open-weights-la-gi", "mo-hinh-ai-ma-nguon-mo-va-dong", "ai-benchmark-la-gi", "evals-la-gi", "ai-governance-la-gi", "foundation-model-la-gi", "mo-hinh-ai-la-gi", "vram-bao-nhieu-de-chay-llm"]
},
{
 "id": 2183,
 "slug": "semantic-search-la-gi",
 "title": "Tìm kiếm ngữ nghĩa (semantic search) là gì? Ứng dụng cho doanh nghiệp",
 "meta_desc": "Tìm kiếm ngữ nghĩa (semantic search) là gì: tìm theo ý nghĩa thay vì đúng từ khóa. Cách hoạt động, ví dụ tra tài liệu nội bộ, khi nào nên dùng và cách triển khai.",
 "excerpt": "Nhân viên gõ 'nghỉ phép năm được mấy ngày' nhưng tài liệu ghi 'chế độ ngày phép hằng năm', ô tìm kiếm thông thường trả về không kết quả. Tìm kiếm ngữ nghĩa giải quyết đúng vấn đề này. Bài viết giải thích cách nó hoạt động và cách áp dụng cho kho tài liệu của công ty.",
 "answer": "Tìm kiếm ngữ nghĩa (semantic search) là cách tìm thông tin dựa trên ý nghĩa của câu hỏi chứ không chỉ dựa trên việc trùng từ khóa. Hệ thống dùng mô hình embedding để biến câu hỏi và tài liệu thành các vector số, rồi tìm những đoạn có vector gần nhau nhất về nghĩa. Nhờ vậy câu 'xin nghỉ ốm thế nào' vẫn tìm ra đoạn 'thủ tục nghỉ do bệnh'. Semantic search là nền tảng của RAG, chatbot đọc tài liệu nội bộ và gợi ý sản phẩm, nhưng thường nên kết hợp với tìm từ khóa cho mã sản phẩm, số hợp đồng.",
 "kws": ["tìm kiếm ngữ nghĩa", "semantic search là gì", "tìm kiếm theo ý nghĩa", "semantic search tiếng Việt", "tìm kiếm tài liệu nội bộ bằng AI"],
 "sections": [
  {"h2": "Tìm kiếm ngữ nghĩa là gì", "html": "<p>Tìm kiếm ngữ nghĩa là kỹ thuật cho máy tính hiểu ý định của người hỏi và tìm nội dung có cùng ý nghĩa, kể cả khi dùng từ khác hoàn toàn. Đây là bước tiến so với tìm kiếm từ khóa truyền thống vốn chỉ so khớp chữ.</p><p>Ví dụ trong một công ty phân phối 30 người, kho tài liệu có câu: 'Hàng lỗi do nhà sản xuất được đổi mới trong 7 ngày'. Nhân viên mới gõ các câu hỏi khác nhau:</p><ul><li>'Khách trả hàng hư thì sao?'</li><li>'Chính sách đổi trả sản phẩm bị lỗi'</li><li>'Máy mới mua bị hỏng có được đổi không'</li></ul><p>Tìm kiếm từ khóa có thể bỏ sót cả ba vì không có chữ nào trùng hoàn toàn. Tìm kiếm ngữ nghĩa hiểu cả ba đều hỏi về đổi hàng lỗi và trả đúng đoạn tài liệu.</p><p>Khả năng này rất quan trọng với tiếng Việt vì cùng một ý có nhiều cách nói: 'hóa đơn' và 'HĐ', 'nghỉ phép' và 'xin off', 'khách sỉ' và 'đại lý'. Người dùng không cần nhớ chính xác thuật ngữ trong tài liệu.</p>"},
  {"h2": "Semantic search hoạt động thế nào", "html": "<p>Đằng sau là ba bước, có thể hình dung như sắp xếp sách trong thư viện theo chủ đề thay vì theo bảng chữ cái.</p><ol><li><strong>Chia nhỏ và mã hóa tài liệu:</strong> mỗi tài liệu được chia thành đoạn (chunk) vài trăm từ. Mô hình embedding biến mỗi đoạn thành một vector, tức dãy hàng trăm đến hàng nghìn con số đại diện cho ý nghĩa.</li><li><strong>Lưu vào kho vector:</strong> các vector được lưu trong vector database hoặc tiện ích mở rộng của cơ sở dữ liệu quen thuộc, kèm đường dẫn về đoạn văn gốc.</li><li><strong>Truy vấn:</strong> câu hỏi của người dùng cũng được biến thành vector bằng chính mô hình đó. Hệ thống tìm các vector gần nhất, thường đo bằng độ tương đồng cosine, rồi trả về các đoạn tương ứng.</li></ol><p>Hai đoạn văn có nghĩa gần nhau sẽ có vector nằm gần nhau trong không gian số, dù chữ viết khác nhau. Đó là lý do hệ thống tìm được 'hàng hư' khi tài liệu ghi 'hàng lỗi'.</p><h3>Bước tùy chọn: xếp hạng lại</h3><p>Nhiều hệ thống thêm một mô hình reranker đọc kỹ 20–50 kết quả đầu và sắp xếp lại theo mức liên quan thực sự, giúp kết quả đầu tiên chính xác hơn.</p>"},
  {"h2": "So sánh tìm kiếm ngữ nghĩa với tìm kiếm từ khóa", "html": "<p>Tìm kiếm ngữ nghĩa không thay thế hoàn toàn tìm kiếm từ khóa. Mỗi cách mạnh ở một kiểu câu hỏi khác nhau.</p><p>Tìm kiếm từ khóa vượt trội khi người dùng biết chính xác điều mình tìm: mã sản phẩm 'RTX-4060-8G', số hợp đồng 'HD-2026-0315', tên riêng, số điện thoại. Tìm kiếm ngữ nghĩa có thể trả về sản phẩm 'na ná' thay vì đúng mã. Ngược lại, câu hỏi tự nhiên, mô tả vấn đề thì ngữ nghĩa thắng rõ.</p><p>Vì vậy các hệ thống thực tế thường dùng <strong>hybrid search</strong>: chạy cả hai cách rồi gộp kết quả.</p>", "table": {"caption": "Từ khóa, ngữ nghĩa và kết hợp", "head": ["Tiêu chí", "Tìm từ khóa", "Tìm ngữ nghĩa", "Kết hợp (hybrid)"], "rows": [["Câu hỏi tự nhiên", "Kém", "Tốt", "Tốt"], ["Mã, số hiệu, tên riêng", "Rất tốt", "Không ổn định", "Rất tốt"], ["Từ đồng nghĩa, viết tắt", "Kém nếu không có từ điển", "Tốt", "Tốt"], ["Giải thích vì sao ra kết quả", "Dễ", "Khó hơn", "Trung bình"], ["Độ phức tạp triển khai", "Thấp", "Trung bình", "Cao hơn"]]}},
  {"h2": "Ứng dụng tìm kiếm ngữ nghĩa trong doanh nghiệp", "html": "<p>Semantic search hữu ích ở mọi nơi có nhiều văn bản mà người dùng không biết chính xác từ khóa:</p><ul><li><strong>Tra cứu quy trình nội bộ:</strong> sổ tay nhân sự, quy trình mua hàng, hướng dẫn phần mềm. Nhân viên hỏi bằng ngôn ngữ thường ngày.</li><li><strong>Chatbot chăm sóc khách hàng:</strong> tìm đúng đoạn chính sách bảo hành, vận chuyển trước khi AI soạn câu trả lời. Đây chính là phần 'Retrieval' trong RAG.</li><li><strong>Tìm sản phẩm trên website:</strong> khách gõ 'laptop nhẹ cho sinh viên thiết kế' thay vì tên model cụ thể.</li><li><strong>Tìm ticket hỗ trợ tương tự:</strong> đội IT tra cách đã xử lý các sự cố giống nhau trước đó.</li><li><strong>Phát hiện trùng lặp:</strong> gom các email, phản hồi khách hàng nói cùng một vấn đề dù viết khác nhau.</li><li><strong>Tra hợp đồng, công văn:</strong> tìm các điều khoản về phạt chậm thanh toán trong hàng trăm hợp đồng.</li></ul><h3>Khi nào KHÔNG cần semantic search</h3><p>Kho dữ liệu nhỏ vài chục trang, hoặc dữ liệu có cấu trúc như bảng tồn kho, danh sách khách hàng. Với bảng dữ liệu, lọc theo cột hoặc truy vấn cơ sở dữ liệu vẫn chính xác và rẻ hơn.</p>"},
  {"h2": "Triển khai semantic search cho kho tài liệu công ty", "html": "<h3>Chuẩn bị</h3><ul><li>Gom tài liệu về một nơi, loại bản trùng, bản cũ hết hiệu lực.</li><li>Chuyển file scan sang văn bản bằng OCR và kiểm tra lỗi dấu tiếng Việt.</li><li>Xác định quyền xem: tài liệu kế toán, nhân sự không được lộ cho mọi người.</li></ul><h3>Các bước</h3><ol><li>Chọn mô hình embedding có hỗ trợ tiếng Việt tốt; ưu tiên mô hình đa ngôn ngữ và thử với câu hỏi thật.</li><li>Chia đoạn hợp lý, thường theo tiêu đề hoặc đoạn văn, giữ thêm phần chồng lấn nhỏ để không cắt mất ý.</li><li>Lưu vector cùng siêu dữ liệu: tên tài liệu, phòng ban, ngày hiệu lực, quyền truy cập.</li><li>Kết hợp tìm từ khóa để xử lý mã, số hiệu.</li><li>Gắn vào giao diện quen thuộc: ô tìm kiếm intranet, chatbot nội bộ, hoặc công cụ như AnythingLLM, Open WebUI.</li></ol><h3>Kiểm tra kết quả</h3><p>Soạn 30–50 câu hỏi thật kèm đáp án mong đợi. Đo tỷ lệ đoạn đúng nằm trong 3 kết quả đầu. Nếu thấp, kiểm tra lại cách chia đoạn và mô hình embedding trước khi đổi công cụ.</p>"},
  {"h2": "Lỗi thường gặp và giới hạn cần biết", "html": "<p>Tìm kiếm ngữ nghĩa mạnh nhưng không phải phép màu. Các vấn đề hay gặp:</p><ul><li><strong>Đoạn chia quá dài hoặc quá ngắn:</strong> quá dài thì vector bị 'loãng' ý; quá ngắn thì mất ngữ cảnh.</li><li><strong>Dùng mô hình embedding chỉ mạnh tiếng Anh:</strong> kết quả tiếng Việt kém, đặc biệt câu không dấu.</li><li><strong>Đổi mô hình embedding mà không mã hóa lại:</strong> vector từ hai mô hình khác nhau không so sánh được với nhau.</li><li><strong>Bỏ qua phân quyền:</strong> nhân viên kinh doanh hỏi về 'lương' và nhận được đoạn bảng lương của phòng kế toán.</li><li><strong>Tài liệu cũ lẫn tài liệu mới:</strong> hệ thống trả về quy định đã hết hiệu lực vì nó 'giống nghĩa' nhất.</li><li><strong>Câu hỏi phủ định:</strong> 'sản phẩm nào không được bảo hành' có thể trả về đoạn nói về sản phẩm được bảo hành vì nghĩa gần nhau.</li></ul><p>Giới hạn cốt lõi: semantic search trả về đoạn <em>giống nghĩa nhất</em>, không đảm bảo đó là đoạn <em>đúng nhất</em>. Với thông tin quan trọng, giao diện nên hiển thị nguồn tài liệu để người dùng tự kiểm tra.</p>"}
 ],
 "tip": "Đầu tư thời gian dọn dẹp tài liệu trước khi chọn công cụ. Một kho tài liệu gọn, có ngày hiệu lực và phân quyền rõ thường cải thiện kết quả tìm kiếm ngữ nghĩa nhiều hơn việc đổi sang mô hình embedding đắt hơn.",
 "faq": [
  {"q": "Semantic search khác Google Search thế nào?", "a": "Google Search hiện đã kết hợp nhiều kỹ thuật hiểu ngữ nghĩa. Semantic search trong doanh nghiệp là áp dụng cùng ý tưởng cho kho tài liệu riêng của công ty."},
  {"q": "Semantic search có hiểu tiếng Việt không?", "a": "Có, nếu dùng mô hình embedding đa ngôn ngữ hoặc được huấn luyện thêm cho tiếng Việt. Hãy thử với câu hỏi thật, có dấu và không dấu, trước khi chọn."},
  {"q": "Tìm kiếm ngữ nghĩa và RAG có phải là một?", "a": "Không. Semantic search là bước tìm đoạn tài liệu liên quan; RAG dùng các đoạn đó làm ngữ cảnh để mô hình ngôn ngữ soạn câu trả lời."},
  {"q": "Cần vector database riêng không?", "a": "Với vài nghìn tài liệu, tiện ích vector của cơ sở dữ liệu quen thuộc hoặc công cụ tích hợp sẵn thường đủ. Vector database chuyên dụng phù hợp khi dữ liệu lớn hoặc cần tốc độ cao."},
  {"q": "Có chạy semantic search hoàn toàn nội bộ được không?", "a": "Được. Mô hình embedding cỡ nhỏ chạy tốt trên máy chủ nội bộ, kể cả không có GPU mạnh, nên tài liệu không cần gửi ra ngoài."},
  {"q": "Vì sao kết quả tìm kiếm ngữ nghĩa đôi khi sai?", "a": "Thường do cách chia đoạn chưa tốt, mô hình embedding yếu với tiếng Việt hoặc tài liệu cũ chưa được loại bỏ. Thêm tìm từ khóa và reranker giúp cải thiện đáng kể."}
 ],
 "sources": [
  {"t": "Semantic search – Wikipedia", "u": "https://en.wikipedia.org/wiki/Semantic_search"},
  {"t": "Sentence Transformers – tài liệu chính thức", "u": "https://www.sbert.net"},
  {"t": "pgvector – GitHub chính thức", "u": "https://github.com/pgvector/pgvector"}
 ],
 "related": ["embedding-la-gi", "vector-database-la-gi", "rag-la-gi", "hybrid-search-la-gi", "graphrag-la-gi", "anythingllm-la-gi", "anythingllm-vs-open-webui", "context-engineering-la-gi"]
}
]
