Sử dụng mô hình Double DQN  huấn luyện mô hình Reinforcement Learning với game mario

Chào các bạn, sau một thời gian ở ẩn, chúng ta lại tiếp tục với việc thực chiến AI, ở bài viết này, chúng ta sẽ train mô hình AI Reinforcement Learning với tựa game đã đi vào bao nhiêu thế hệ trẻ thơ, Mario, tuy nhiên, để bắt đầu bài viết, mình sẽ note lại một vài ý về Reinforcement Learning, Q learning, và cải tiến của Deep Q-Network là Double Deep Q-Network , trong phần code mình sẽ sử dụng Double Deep Q-Network

Top 10 thuật toán System Design các bạn nên biết và thường được hỏi trong phỏng vấn - Top 1 Consistent Hashing

Để trở thành một Software Architect tốt, chúng ta cần có kiến thức và kỹ năng về cả Low level và High Level System Design. Mình sẽ tổng hợp lại 10 thuật toán về system design mà mình nghĩ là rất hữu ích trong công việc, và cũng hữu ích cho các bạn bổ túc kiến thức để tham gia phỏng vấn ở vị trí SA. Bài đầu tiên mình sẽ bắt đầu với Consistent Hashing

Các ứng dụng của LLM trong thực tế

LLM hiện nay đã được sử dụng rỗng rãi ở nhiều ngách nhỏ trong các tập đoàn lớn, và càng ngày có càng nhiều công cụ nhỏ được release ra đời nhằm giải quyết các vấn đề hằng ngày phát sinh. Bài viết này mình trích và dịch lại một số bài toán mà các tập đoàn lớn đã gặp phải và họ đã sử dụng LLM để giải quyết nó. Đây cũng là một nguồn thông tin hữu ích cho các doanh nghiệp ứng dụng LLM trong chính doanh nghiệp của mình.

Một số thư viện tính toán song song thay thế cho cuda

CUDA là một công nghệ tuyệt vời cho phép bạn tận dụng tối đa hiệu suất của GPU Nvidia. Tuy nhiên, nó chỉ hoạt động trên các GPU của NVIDIA và việc chuyển mã CUDA hiện có sang các nền tảng khác không phải lúc nào cũng dễ dàng. Ở bài viết này, chúng ta cùng nhau tìm hiểu các thư viện lập trình song song khác đang tồn tại, ưu và nhược điểm của chúng.

Các phương pháp phân tích dữ liệu lớn

Các phương pháp phân tích dữ liệu lớn là những kỹ thuật và công cụ để xử lý, khai thác và trích xuất thông tin từ dữ liệu có kích thước, tốc độ và đa dạng lớn. Các phương pháp này giúp bạn hiểu được xu hướng, mẫu, mối quan hệ và giá trị tiềm ẩn trong dữ liệu, từ đó đưa ra những quyết định có căn cứ và tối ưu hóa hiệu quả kinh doanh.

Mô hình phát triển phần mềm

Mô hình phát triển phần mềm là cách thức tổ chức các hoạt động để tạo ra phần mềm từ việc phân tích yêu cầu đến việc duy trì. Có nhiều loại mô hình phát triển phần mềm khác nhau, nhưng phổ biến nhất là mô hình thác nước, mô hình chữ V, mô hình xoắn ốc, mô hình agile và quy trình scrum. Mỗi mô hình có ưu và nhược điểm riêng, phù hợp với các loại dự án và khách hàng khác nhau.

Phân cụm cửa hàng để đưa ra quyết định thông minh hơn - Lý thuyết

Phân cụm theo cửa hàng, phân cụm theo danh mục, phân cụm theo nhóm danh mục, là một trong các yếu tố | công cụ tốt giúp cho khối sale, khối marketing đưa ra các quyết định sáng suốt. Thông thường thì chúng ta sẽ phân loại các siêu thị thành các cụm, tuy nhiên, có vẻ như việc phân loại theo nhóm danh mục hoặc danh mục sẽ phù hợp hơn với mục tiêu kinh doanh | mục tiêu marketing. Ví dụ, việc phân loại theo danh mục sẽ cho phép chúng ta tiếp cận đến khoảng mục tiêu (target range) tốt hơn, và đưa ra các chương trình khuyến mãi phù hợp nhất với những nhu cầu của nhóm đó mang tới.

Tư duy làm sản phẩm - The product mindset

Bằng cách đưa cách tiếp cận phát triển sản phẩm vào việc lập kế hoạch và thực hiện phân tích, các tổ chức có thể mở rộng các thành công riêng biệt thành loại ra quyết định dựa trên dữ liệu bền vững, toàn tổ chức, đóng vai trò là nền tảng của chuyển đổi kỹ thuật số thực sự.

N-Gram trong elastic search và opensearch - khi nào không nên sử dụng

Chi phí liên quan đến n-gram tokenizer ở ElasticSearch và opensearch thường không đề cập chi tiết trong các tài liệu, do đó, có khi nó sẽ gây ra các hậu quả khá nghiêm trọng về chi phí và hiệu năng. Dẫn đến trường hợp là chúng ta phải "lấy thịt đè người" bằng cách tăng chi phí phần cứng một cách lãng phí. Trong bài viết này, chúng ta sẽ đề cập đến vài use-case sử dụng n-gram tokenizer, một số phương pháp cải tiến, hoặc một vài phương pháp thay thế nó bằng cách khách hiệu quả hơn.

Symbolic AI và Connectionist AI

Dạo gần đây, khi các ứng dụng AI đang hô mưa gọi gió trên toàn cõi, điển hình là hot keywork chatGPT, thì trong cộng đồng nghiên cứu cũng nổ ra cuộc chiến giữa hai phe Symbolic AI và Connectionist AI. Có vẻ như ở nơi nào có chia nhóm, thì sẽ có một nhóm người chọn phe này, và một nhóm khác chọn phe còn lại, một nhóm khác nữa đứng ở cả hai, nhóm khác nữa không chọn nhóm nào cả. Hai nhóm là nhóm đứng cả hai và nhóm không chọn nhóm nào cả thường ít hoặc không làm gì cả, còn nhóm chọn phe này và nhóm chọn phe kia sẽ đối đầu nhau rất gay gắt.

Tiktok Real Time Recommendation

Nhân dịp đầu tháng, mình khai bút với chủ đề Real Time Recommendation. Paper này mình đọc cũng khá lâu rồi, giờ mới có dịp note lại chia sẻ. Các kỹ sư của ByteDance vừa mới cung cấp một paper nêu ra một vài hướng nghiên cứu của họ về Real Time Recommendation mà họ đã áp dụng thành công trong sản phẩm tiktok. Chủ đề này liên quan nhiều đến MLOpts - xây dựng kiến trúc hệ thống.

5 Cách mở file trong python

Ở bài viết này, mình sẽ giới thiệu các bạn một vài cách để có thể đọc file trong python. Thông thường, mình sẽ search google rồi copy paste các đoạn mã lệnh của người dùng đóng góp trên stackoverflow về và chạy. Nay mình ngồi túm nó lại thành 1 bài viết để sau này mình dễ dàng tra cứu