Nền tảng cung cấp thông tin cam kết tranh cử của ứng viên tổng thống Hàn Quốc
(github.com/MinsuChae)Thông tin về các ứng viên tổng thống thứ 21 trong một cái nhìn
- Tiêu đề nghe có vẻ hoành tráng, nhưng nói ngắn gọn thì đây là một dự án nhằm cung cấp lý lịch, cam kết tranh cử hoặc các tranh cãi liên quan của các ứng viên tổng thống trước cuộc bầu cử tổng thống lần thứ 21.
- 🔗 https://daeseoneunjigeum.com
Mục đích thực hiện
Những người quen của tôi ở độ tuổi 20 đã thể hiện sự quan tâm đến tổng thống và cuộc bầu cử tổng thống, và do nhiều sự kiện gần đây, tôi nghĩ mức độ quan tâm của giới trẻ đối với bầu cử đã tăng lên và cần được khuyến khích tham gia bầu cử tổng thống.
Tuy nhiên, khi thực sự đi bỏ phiếu, rất khó để xem xét kỹ từng người, và cũng không dễ để đánh giá ai tốt hơn khi so sánh với các ứng viên khác.
“Vậy thì hãy tạo một trang web dùng LLM để trả lời hỏi‑đáp ngay lập tức.” Với một ý tưởng rất đơn giản như vậy, tôi đã làm ra nó; phần lên kế hoạch mất khoảng 2~5 ngày, còn viết mã và triển khai mất khoảng hai ngày.
Tính năng cung cấp
- Cung cấp tóm tắt lý lịch·cam kết·tranh cãi theo từng ứng viên
(Do tài liệu công báo bầu cử vẫn chưa có nên hiện tại đây là bản nháp dựa trên tin tức.) - Q&A thời gian thực như “Hãy cho tôi biết cam kết tiêu biểu của ứng viên ○○”
(Gemma‑3‑1b‑ittạo câu trả lời. Vì đang chạy chỉ bằng CPU 😅 )
Kế hoạch sắp tới
- Cung cấp thông tin dựa trên tài liệu công báo bầu cử
- Nếu nhận được sự quan tâm lớn ở mức người dân Hàn Quốc nói chung chứ không chỉ ở mức nhà phát triển, hoặc có tài trợ từ tổ chức, sẽ nâng cấp mô hình LLM lên Gemma‑3‑27b
Điểm còn tiếc
- Kích thước mô hình
Ban đầu tôi muốn chạy bản 27 b tham số, nhưng cần VRAM 48 GB.
Cuối cùng đành thỏa hiệp với mô hình 1 b. (Chỉ riêng việc thuê một máy A6000 cũng cần khoảng 600.000 won mỗi tháng.) - Chất lượng dữ liệu còn thấp
Dù đã sàng lọc qua các bài báo, nhưng vì chưa có tài liệu chính thức nên vẫn còn vấn đề là khó nắm được các cam kết cụ thể. Tôi dự định sẽ cập nhật sớm nhất ngay khi công báo bầu cử được công bố. - Tốc độ phản hồi của mô hình LLM
Nếu chỉ chào hỏi đơn giản thì có thể phản hồi trong vài giây, nhưng khi đặt các câu hỏi trọng tâm như về cam kết thì có vấn đề mất hơn 1 phút. Nói là thời gian thực thì đúng là hơi quá. Vì đang tính toán bằng CPU. 😅
Yêu cầu
- Nếu phát hiện thông tin sai hoặc điều gì gây bất tiện, hãy cho tôi biết qua bình luận.
- Tài trợ GPU / hợp tác cloud luôn được chào đón.
- Tôi sẽ rất cảm kích nếu mọi người tránh các bài kiểm tra tải quá mức!
Gần đây, khi việc tham gia bầu cử của giới trẻ ngày càng trở nên quan trọng, tôi đã tạo ra dự án này để giúp việc tiếp cận thông tin chính trị trở nên dễ dàng và nhanh chóng hơn.
Hãy ghé thử, tìm kiếm ứng viên mà bạn tò mò, và chỉ ra những điểm còn thiếu sót. 🙏
Chuyên ngành của tôi là mảng máy tính, nhưng vì định vị của tôi nghiêng về nhà nghiên cứu AI hơn là nhà phát triển, nên với các lập trình viên “xịn” thì những thứ như test code hay kiểm tra kiểu dữ liệu có thể sẽ gây khó chịu.
9 bình luận
Xin chào. Được truyền cảm hứng khi đọc bài viết này, tôi cũng đã thử làm một phiên bản tương tự nhưng với hình thức hơi khác. Cá nhân tôi đang thử nghiệm nhiều khả năng khác nhau trong việc phát triển ứng dụng AI dưới dạng dịch vụ, và lần này cũng là một trải nghiệm rất tốt về cách tiếp cận kỹ thuật và triển khai.
Từ ngày 8/5 đến 11/5, hệ thống sẽ chạy bằng gemma 12b. Tôi đã tham gia đợt beta test do một đơn vị cung cấp dịch vụ tương tự GPU cloud computing tổ chức, đồng thời tiến hành kiểm thử tải liên quan và áp dụng để có thể nắm được tải thực tế.
Do khó có thể liên tục chỉnh sửa thông tin liên quan, nên tôi chỉ cập nhật mỗi khi có thay đổi lớn về thông tin. Bản cập nhật tiếp theo sẽ vào sáng ngày 12, khi các ứng viên chính thức được xác định; sau đó, khi tài liệu công báo bầu cử được đăng tải, tôi dự định cải thiện để cung cấp thông tin này thông qua RAG.
Mục đích rất tốt, nhưng nếu truyền tải những thông tin như thế này dựa trên LLM (nếu cung cấp không chính xác) thì có vẻ cũng có thể phát sinh vấn đề pháp lý..!
Tôi chưa đăng lên vài trang, nhưng không rõ là do bài kiểm tra nội bộ của tôi hay ai đó, mà vì tải quá mức nên nó đã thành zombie rồi. Đây là AI chạy cục bộ và là mô hình nhẹ, nên tôi không ngờ lại bị tải nặng đến mức này; tôi chạy nó trong môi trường ảo hóa, và nó đã rơi vào trạng thái zombie...;; Tôi sẽ kiểm tra rồi khôi phục lại.
Những ai đang cung cấp dịch vụ AI cục bộ, nếu là tác vụ GPU thì có lẽ đỡ hơn, nhưng với CPU thì... có vẻ tốt nhất là nên từ bỏ. Có vẻ cũng không phải là ai đó đã dùng nhiều đến thế...;;
Đây vốn là máy chủ vật lý không có tác vụ lớn, nhưng tôi triển khai dịch vụ bằng docker container; dù cấu hình có thấp đến đâu thì CPU vẫn bị quá tải đến mức ngay cả đăng nhập ssh cũng khó khăn...; tôi không đặt giới hạn CPU, nên vì thế mà cả máy chủ host cũng gặp vấn đề...
Trông cũng không giống là có nhiều người dùng thực tế đã sử dụng...
Bạn đã cân nhắc phương án phát hành khóa OpenRouter để người dùng sử dụng, hoặc thử dùng WebLLM hay Gemini nano chưa?
Cảm ơn bạn đã cho biết. Trước hết, vì đây không phải là trang tĩnh nên tôi muốn xử lý ở backend hơn là nhất thiết làm ở phía frontend, đồng thời cố gắng ẩn API key tối đa.
Trước đây tôi cũng không hẳn định làm vậy, nhưng tôi dự định sẽ dùng OpenAI hoặc API khác vào khoảng 7 hoặc 14 ngày trước ngày bầu cử.
Cho đến lúc đó, dù có thể giảm chi phí bằng mô hình nhỏ đến đâu thì tôi vẫn chưa thể ước lượng sẽ bị dùng ở mức nào nên khá thận trọng trong việc sử dụng.
Nhờ bạn mà tôi đã tìm hiểu về WebLLM. Với tư cách là người nghiên cứu deep learning, tôi từng cân nhắc việc phục vụ và chạy mô hình qua CDN các kiểu, nên giờ mới biết có dự án phục vụ theo cách như vậy. Tuy nhiên vẫn còn vài điểm khiến tôi băn khoăn. Nếu chạy ở frontend thì đúng là giảm tải, nhưng vấn đề có lẽ là phần phục vụ mô hình ban đầu sẽ hơi lâu. Đây là điểm tôi vẫn đang cân nhắc. Dù sao thì nhờ bạn mà tôi biết đến một dự án hay như vậy. Tôi chưa xem thật kỹ nên vẫn chưa hiểu hoàn toàn là chỉ những model trong README mới chạy được, hay các model tương thích cũng được phục vụ, hoặc là phải đưa lên CDN khác. Theo tôi nghĩ thì có lẽ vẫn phải tự phục vụ chính model đó riêng. Nếu vậy thì chỗ này có lẽ sẽ là điều cần cân nhắc. Tôi không rõ ở nước ngoài thế nào, nhưng ở trong nước thì không biết có CDN nào để phục vụ model hay không. Theo như tôi tìm hiểu, CDN trong nước mà tôi thấy đa phần chỉ cho phép hình ảnh.
Trời ơi T_T
Dù là mô hình LLM 1B, nhưng có vẻ lượng tính toán vẫn khá lớn. Hôm qua tôi cũng rối tinh lên vì đột nhiên container rơi vào trạng thái zombie, rồi cứ liên tục thay đổi giới hạn mức sử dụng CPU trong docker để test, kết quả là có vẻ chỉ gắng gượng xử lý được khoảng 3~5 request đồng thời.
Nói theo một cách khác, khi làm một dự án đơn giản như thế này, tôi cũng muốn thử xem trong vài năm tới local AI sẽ đến mức nào, và nếu chạy dịch vụ LLM trong tình huống thiếu tài nguyên GPU thì tải sẽ nặng ra sao.
CPU đang chạy server là AMD 7700. Cuối cùng tôi nhận ra rằng nếu muốn làm bằng local AI thì phải cân nhắc rất nhiều thứ. Có vấn đề timeout xảy ra nhiều hơn tôi nghĩ trong khoảng thời gian từ lúc gửi POST đến trước khi nhận được phản hồi, và rốt cuộc tôi đi đến kết luận rằng để vận hành dịch vụ ổn định thì phải có nhiều GPU hoặc thiết bị chuyên cho inference (ví dụ như Google TPU), như vậy tốc độ phản hồi mới có lợi thế, đồng thời cũng nên cung cấp theo dạng hàng đợi.
Thực ra ở Hàn Quốc cũng hiếm có công ty vận hành LLM một cách bài bản (ngoài những cái tên đã được biết đến như Naver, Kakao, Upstage...), và vì chatbot nhiều khi chỉ thực hiện các chức năng được định sẵn hoặc đơn giản là kết nối tới API của mô hình LLM, nên đây cũng là dịp để tôi suy nghĩ xem tải thực tế sẽ lớn đến mức nào, và nếu muốn giảm gánh nặng cho server khi cung cấp kiểu dịch vụ này trên web thì cần phải làm thế nào.
Có thể một số người đọc bình luận này sẽ nghĩ rằng chỉ cần chuyển nguyên model lên rồi phục vụ ra là xong, nhưng dung lượng của gemma3 1b đã vượt quá 1GB, và dù tôi đang dùng server hosting thì tôi vẫn cho rằng không thể chịu nổi mức traffic đó.
Có lẽ những công ty nào suy nghĩ kỹ về cách cung cấp dịch vụ trên web sao cho giảm tải cho server, dù bằng cách nào đó có thể cài sẵn theo dạng app, thì sẽ có khả năng duy trì chi phí vận hành thấp hơn.
Xin chân thành cảm ơn bạn đã chia sẻ kinh nghiệm quý báu.