Nếu bạn đang phát triển kỹ năng viết code của mình để có thể làm việc trong các dự án AI, thì có lẽ bạn nên bắt đầu với một số dự án open source về AI ngay từ bây giờ.

Vì vậy, trong bài viết này, VietnamWorks inTECH sẽ tổng hợp các dự án phổ biến có thể hữu ích cho nhu cầu nâng cao kỹ năng nghề của bản thân.

1. Công cụ Deep Learning

TensorFlow

TensorFlow là một framework mã nguồn mở dành cho machine learning. Bằng cách sử dụng khái niệm đồ thị tính toán, TensorFlow biểu thị các hoạt động và luồng dữ liệu dưới dạng các node và edge.

Tenor chứa dữ liệu và các mô hình được xây dựng bằng cách kết nối các operation. Các thuật toán tối ưu (Optimization algorithms) đào tạo các mô hình bằng cách giảm thiểu hàm mất mát (loss function). Cho phép các lập trình viên tạo các ứng dụng hỗ trợ Machine Learning một cách dễ dàng với kết quả chính xác.

TensorFlow cũng cung cấp các API bậc cao như Keras, giúp đơn giản hóa quy trình xây dựng và đào tạo mô hình, từ đó làm cho thư viện này trở thành một công cụ tuyệt vời để tạo các ứng dụng mạnh mẽ với Machine Learning.

Chủ yếu được sử dụng cho: Deep Learning

Số sao Github: 176.000

PyTorch Keras

PyTorch và Keras là hai framework phổ biến trong việc xây dựng và đào tạo mạng nơ-ron nhân tạo (neural networks).

Keras hỗ trợ các lập trình viên bằng cách cung cấp API bậc cao giúp dễ dàng xử lý các tác vụ deep learning. Còn PyTorch sử dụng một mô hình tính toán đồ thị động (Dynamic Computation Graph), trong đó đồ thị được xây dựng khi các thao tác được thực thi.

Cả hai framework đều cung cấp khả năng tạo, đào tạo và deploy dễ dàng với sự hỗ trợ phần 'low-level' (còn được gọi là backend) là TensorFlow và Theano.

Chủ yếu được sử dụng cho: Deep Learning

Số sao Github: 68.700 (Pytorch) & 58.800 (Keras)

Apache MXNet

Apache MXNet là một framework mã nguồn mở dành cho deep learning. Hầu hết tất cả các ngôn ngữ lập trình phổ biến như Scala, Python, R, v.v. đều có thể sử dụng được.

MXNet hỗ trợ cả research và deploy ở cấp độ production của các mô hình machine learning. Nó sử dụng mô hình lập trình ký hiệu và mệnh lệnh, mang lại lợi ích của cả đồ thị tính toán động và tĩnh. Điều này đem đến hiệu quả đáng kể cho Tính toán song song (Parallel Computing) và Điện toán phân tán (Distributed Computing) trên nhiều thiết bị hoặc máy móc.

Chủ yếu được sử dụng cho: Deep learning

Số sao Github: 20.500

Tflearn

tflearn là một thư viện deep learning tiên tiến, giúp cho quá trình xây dựng và đào tạo mạng nơ-ron nhân tạo (neural networks) trở nên dễ dàng hơn. Ngoài ra nó còn cho phép người dùng xác định và huấn luyện mạng nơ-ron nhân tạo (neural networks) bằng cú pháp ngắn gọn và trực quan.

tflearn cung cấp nhiều layer tích hợp, trình tối ưu hóa, Các hàm kích hoạt (activation function) và Chỉ số đánh giá (Evaluation Metrics).

Phần mềm cũng chứa các tiện ích để trực quan hóa mô hình, xử lý dữ liệu và checkpointing. Code được viết bằng tflearn có thể dễ dàng chuyển sang code TensorFlow bất cứ lúc nào. Đây là tính năng tiện dụng nhất của tflearn.

Chủ yếu được sử dụng cho: Deep Learning

Số sao Github: 9.600

Theano

Theano là một thư viện Python khác được thiết kế chủ yếu cho các nhiệm vụ tính toán số và deep learning. Thư viện này cho phép người dùng xác định, tối ưu hóa và đánh giá các biểu thức toán học một cách hiệu quả, tận dụng sức mạnh của khả năng tăng tốc GPU.

Theano hoạt động bằng cách xây dựng một biểu đồ tính toán (Computation graph) trong đó các hoạt động toán học được biểu diễn dưới dạng các node và các phần phụ thuộc của chúng dưới dạng các edge. Biểu đồ này sau đó được biên dịch thành ngôn ngữ C được tối ưu hóa cao, cho phép thực thi trên các kiến ​​trúc phần cứng khác nhau.

Theano được xây dựng dựa trên NumPy và cung cấp khả năng tích hợp chặt chẽ, sử dụng GPU minh bạch, tối ưu hóa tốc độ và độ tính ổn định cũng như tích hợp code C. Những tính năng này làm cho Theano trở thành một công cụ mạnh mẽ cho các nhà nghiên cứu và học viên trong lĩnh vực deep learning.

Chủ yếu được sử dụng cho: Deep Learning

Số sao trên Github: 9.800

2. Công cụ NLP và Language Model

Hugging Face Transformers

HuggingFace Transformers là một thư viện mã nguồn mở phổ biến dành cho các task Xử lý ngôn ngữ tự nhiên (NLP). Nó mang đến một phương pháp đơn giản và hiệu quả để sử dụng các mô hình transformer. Bên cạnh đó, thư viện còn tận dụng các kiến ​​trúc transformer, chẳng hạn như GPT, BERT, RoBERTa và đạt được hiệu quả cao trong NLP.

Các mô hình này đã được đào tạo trước trên lượng dữ liệu khổng lồ, cho phép chúng nắm bắt các biểu diễn ngôn ngữ sâu sắc tùy theo ngữ cảnh. Với sự hỗ trợ của các mô hình được đào tạo trước, các công cụ để fine-tuning và một trung tâm mô hình cộng tác, HuggingFace Transformers có thể giúp bạn tận dụng sức mạnh của kiến ​​trúc transformer cho nhiều ứng dụng xử lý ngôn ngữ tự nhiên.

Chủ yếu được sử dụng cho: Xử lý ngôn ngữ tự nhiên (NLP) và Language Model

Số sao Github: 107.000

Fast.ai

Fast.ai là một thư viện để làm việc với các task deep learning. Nó chứa các mô hình được đào tạo trước, hỗ trợ các lập trình viên xử lý các tác vụ chỉ bằng một vài dòng code.

Fast.ai cung cấp nhiều tính năng, bao gồm kiến ​​trúc mô hình, kỹ thuật tối ưu hóa, tiền xử lý dữ liệu và công cụ trực quan hóa.

Bằng cách cung cấp một thư viện bậc cao với các tính năng mạnh mẽ và chức năng dựng sẵn, Fast.ai giúp việc học deep learning trở nên dễ dàng hơn.

Chủ yếu được sử dụng cho: Xử lý ngôn ngữ tự nhiên (NLP) và Language Model

Số sao trên Github: 24.200

3. Công cụ xử lý hình ảnh (Computer Vision) và Thị giác máy tính (Image Processing)

OpenCV

OpenCV là một thư viện xử lý hình ảnh và thị giác máy tính phổ biến được phát triển bởi Intel. Thư viện này đều sử dụng được các ngôn ngữ lập trình phổ biến như Python, Java và C++.

OpenCV có các chức năng và thuật toán để thao tác, phân tích và hiểu hình ảnh/video. OpenCV chứa tất cả các chức năng cần thiết cho bất kỳ tác vụ xử lý hình ảnh nào như phát hiện tính năng, nhận dạng đối tượng, lọc hình ảnh và hiệu chỉnh máy ảnh.

Các chức năng này có thể hoạt động với các hình ảnh và video khác nhau một cách hiệu quả, khiến chúng trở nên linh hoạt cho các ứng dụng khác nhau.  

Chủ yếu được sử dụng cho: Thị giác máy tính và Xử lý hình ảnh

Số sao Github: 69.900

Detectron2

Detectron2 là thư viện thế hệ tiếp theo cung cấp thuật toán detection và segmentation nâng cao. Panoptic segmentation, Densepose, Cascade R-CNN, hộp giới hạn (rotated bounding box), PointRend, DeepLab, ViTDet và MViTv2 là một số tính năng mới của thư viện này.

Detectron2 hoạt động bằng cách tận dụng thiết kế mô-đun và kiến ​​trúc Backbone Network mạnh mẽ. Thư viện này đã trở thành một lựa chọn phổ biến để xây dựng và triển khai các mô hình segmentation đối tượng và phát hiện đối tượng vì tính linh hoạt, kiến ​​trúc mạnh mẽ và các tính năng mở rộng.

Chủ yếu được sử dụng cho: Thị giác máy tính và Xử lý hình ảnh

Số sao Github: 25.500

4. Công cụ và thư viện Machine Learning

Stable Diffusion

Stable Diffusion là một mô hình latent diffusion với mạng nơ-ron nhân tạo có chiều sâu, cho phép người dùng tạo hình ảnh dựa trên các chi tiết được viết ở định dạng văn bản.

Bạn cũng có thể thực hiện các tác vụ như xuất, in và tạo bản dịch từ hình ảnh sang hình ảnh bằng mô hình này.

Trọng lượng code và mô hình của Stable Diffusion đã được phát hành công khai và nó có thể chạy trên hầu hết phần cứng được trang bị GPU với ít nhất 8 GB VRAM.

Được sử dụng chính cho: Công cụ và Thư viện Machine Learning

Số sao Github: 89.900 (WebUI) và 57.500 (Mô hình)

MindsDB

MindsDB là một framework AutoML mã nguồn mở, cho phép các lập trình viên đào tạo, thử nghiệm và triển khai các mô hình dự đoán bằng cách sử dụng ít code hơn. Nó có thể tự động phân tích và hiểu dữ liệu, chọn các thuật toán phù hợp và đào tạo các mô hình dựa trên đầu vào của người dùng.

Chương trình chấp nhận nhiều định dạng dữ liệu và tích hợp với các cơ sở dữ liệu phổ biến như cơ sở dữ liệu SQL. MindsDB, hay một tập hợp lớn các tác vụ machine learning bao gồm xử lý ngôn ngữ tự nhiên, hồi quy, phân loại, v.v.

Được sử dụng chính cho: Công cụ và Thư viện Machine Learning

Số sao Github: 17.200

Ivy

Ivy là một thư viện deep learning mã nguồn mở tập trung vào nghiên cứu và phát triển bằng Python. Nó chứa một API nâng cao giúp quá trình xây dựng và đào tạo mạng nơ-ron nhân tạo trở nên dễ dàng hơn.

Sử dụng Đồ thị tính toán động với Automatic Differentiation, Ivy cung cấp cho các lập trình viên một lộ trình linh hoạt và trực quan để xác định hoặc thực hiện tính toán và kiến ​​trúc mạng. Thư viện cũng cho phép sửa đổi cấu trúc mạng trong thời gian chạy.

Ivy chấp nhận cả điện toán CPU và GPU, đồng thời tích hợp liền mạch với các framework deep learning phổ biến như TensorFlow và PyTorch.

Được sử dụng chính cho: Công cụ và Thư viện Machine Learning

Số sao trên Github: 11.900

5. Trợ lý AI và Công cụ Chatbot

GPT Engineer

GPT Engineer được thiết kế để dễ dàng điều chỉnh và mở rộng, đồng thời cho phép hỗ trợ tìm hiểu cấu trúc code mong muốn. Nó tạo toàn bộ cơ sở code dựa trên công cụ prompt, mang lại sự linh hoạt và dễ sử dụng. Đồng thời cung cấp lời nhắc nâng cao và có thể cung cấp phản hồi cho AI mà nó sẽ ghi nhớ theo thời gian.

GPT Engineer tạo điều kiện chuyển giao nhanh giữa AI và tương tác của con người. Tất cả các tính toán của phần mềm này đều có thể lặp lại và được duy trì trong hệ thống tệp.

Chủ yếu được sử dụng cho: Trợ lý AI và Chatbot

Số sao Github: 37.300

Open Assistant

Open Assistant là một dự án nhằm cung cấp cho mọi người quyền truy cập vào mô hình ngôn ngữ lớn dựa trên tính năng trò chuyện. Mục tiêu của dự án không chỉ giới hạn ở việc sao chép ChatGPT mà còn xây dựng trợ lý của tương lai.

Ứng dụng có những tính năng nổi bật như viết email, thư xin việc, sử dụng API, nghiên cứu thông tin linh hoạt, v.v. Ngoài ra, Assistant còn có khả năng được cá nhân hóa và mở rộng bởi bất kỳ ai. Cho dù bạn là người mới bắt đầu hay chuyên gia, bạn có thể khám phá dự án hữu ích này.

Chủ yếu được sử dụng cho: Trợ lý AI và Chatbot

Số sao Github: 34.300

Fauxpilot

FauxPilot là một mã nguồn mở thay thế cho máy chủ GitHub Copilot. Dự án này nhằm mục đích phát triển một giải pháp thay thế được local host cho GitHub Copilot. Nó sử dụng các mô hình SalesForce/CodeGen trong Triton Inference Server của NVIDIA, với chương trình hỗ trợ FasterTransformer.

Để  tham gia được dự án, bạn phải đáp ứng các điều kiện như Docker compose và một GPU NVIDIA có khả năng tương thích.

Chủ yếu được sử dụng cho: Trợ lý AI và Chatbot

Số sao Github: 12.700

Lời kết

Hy vọng thông qua bài viết này, các bạn đã bỏ túi được cho mình ít nhất một dự án open source AI hữu ích. Nếu thấy hay, đừng ngại chia sẻ cho bạn bè cùng biết nhé!

VietnamWorks inTECH