AI & Automation (vnROM)

Cover image for exo: Xây dựng cluster AI tại nhà với thiết bị thông thường
vnROM for vnROM Team

Posted on

exo: Xây dựng cluster AI tại nhà với thiết bị thông thường

Chào cả nhà! 👋

Hôm nay mình muốn giới thiệu một dự án mã nguồn mở mà mình vô tình biết - exo - một công cụ cho phép bạn xây dựng và chạy một cluster AI hoàn toàn tại nhà bằng những thiết bị thông thường mà bạn đã có!

Nếu bạn từng muốn chạy những mô hình AI lớn như LLaMA 3.1 405B hoặc DeepSeek R1 nhưng bị "sợ" giá cả của cloud API (OpenAI API có thể tốn hàng chục đô/tháng), thì exo chính là giải pháp cho bạn.

Exo là gì?

exo là một dự án open-source cho phép bạn kết nối nhiều thiết bị khác nhau như MacBook, laptop, PC, Linux, Raspberry Pi, điện thoại Android, thậm chí là smartwatch vào một cluster AI phân tán để chạy các mô hình ngôn ngữ lớn (LLM).

Điểm mạnh chính:

  • Không cần thiết bị đắt tiền: Sử dụng máy tính, laptop cũ, hoặc Raspberry Pi mà bạn đã có
  • Chia sẻ tài nguyên động: Exo tự động chia nhỏ mô hình AI dựa trên khả năng của mỗi thiết bị
  • Phát hiện tự động: Không cần cấu hình phức tạp—exo tự tìm kiếm các thiết bị khác trên mạng
  • API tương thích ChatGPT: Bạn có thể sử dụng nó giống như OpenAI API, chỉ cần thay đổi một dòng code
  • Hoàn toàn riêng tư: Tất cả dữ liệu của bạn xử lý ngoại tuyến trên mạng nhà
  • Mã nguồn mở: 32k+ stars trên GitHub, cộng đồng đang phát triển nhanh

Tại sao nên sử dụng exo?

Tiết kiệm chi phí

OpenAI API tốn khoảng $0.03-$0.30 mỗi 1,000 tokens. Nếu bạn dùng thường xuyên, chi phí sẽ rất cao. Với exo, bạn chỉ cần trả tiền điện để chạy máy.

Bảo mật và quyền riêng tư

Mọi thứ chạy ngoại tuyến trên mạng riêng của bạn. Không ai khác có thể xem dữ liệu của bạn.

Học tập và thử nghiệm

Muốn tìm hiểu cách hoạt động của LLM? exo cho phép bạn chạy chúng trên phần cứng của mình và tùy chỉnh theo nhu cầu.

Không phụ thuộc vào nhà cung cấp

Bạn sở hữu toàn bộ hệ thống—không bị phụ thuộc vào các dịch vụ bên thứ ba.

Yêu cầu hệ thống

Trước khi cài đặt, hãy kiểm tra:

  • Python 3.12+ (bắt buộc)
  • Một hoặc nhiều thiết bị có đủ RAM tổng cộng để chứa mô hình
  • Tất cả thiết bị trên cùng mạng Wi-Fi (hoặc kết nối qua Tailscale)

Ví dụ về yêu cầu RAM:

  • Llama 3.2 3B: 6GB (1 MacBook Air)
  • Llama 3.1 8B: 16GB (2 MacBook Air 8GB cộng lại)
  • Llama 3.1 70B: 140GB (GPU cluster)
  • DeepSeek R1 671B: 1.3TB+ (cluster lớn)

Thiết bị hỗ trợ:

  • MacBook (Apple Silicon)
  • Laptop Linux (Intel, AMD, CPU)
  • NVIDIA GPU (RTX series)
  • Raspberry Pi
  • iPhone/iPad
  • Android devices
  • IoT devices

Hướng dẫn cài đặt (3 bước đơn giản)

Bước 1: Kiểm tra phiên bản Python

python3 --version
Enter fullscreen mode Exit fullscreen mode

Nếu bạn có Python 3.11 trở xuống, hãy cập nhật:

# Trên macOS (dùng Homebrew)
brew install [email protected]

# Trên Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3.12 python3.12-venv
Enter fullscreen mode Exit fullscreen mode

Bước 2: Clone và cài đặt exo

git clone https://github.com/exo-explore/exo.git
cd exo
pip install -e .

# Hoặc sử dụng venv (khuyên dùng)
source install.sh
Enter fullscreen mode Exit fullscreen mode

Quá trình cài đặt sẽ mất khoảng 5-10 phút.

Bước 3: Chạy exo

Trên thiết bị đầu tiên:

exo
Enter fullscreen mode Exit fullscreen mode

Trên thiết bị thứ hai (nếu có):

exo
Enter fullscreen mode Exit fullscreen mode

Thế là xong! Exo sẽ tự động tìm kiếm và kết nối với thiết bị khác. Bạn sẽ thấy một giao diện web tương tự ChatGPT tại:

http://localhost:52415
Enter fullscreen mode Exit fullscreen mode

Ví dụ sử dụng thực tế

1. Sử dụng giao diện Web (dễ nhất)

Mở trình duyệt, vào http://localhost:52415 và bắt đầu hỏi những câu hỏi—giống như ChatGPT!

2. Sử dụng API (cho lập trình viên)

Nếu muốn tích hợp vào ứng dụng của mình:

# Chạy Llama 3.2 3B
curl http://localhost:52415/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "llama-3.2-3b",
     "messages": [{"role": "user", "content": "Exo là gì?"}],
     "temperature": 0.7
   }'
Enter fullscreen mode Exit fullscreen mode

3. Chạy mô hình lớn (405B parameters)

curl http://localhost:52415/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "llama-3.1-405b",
     "messages": [{"role": "user", "content": "Giải thích về distributed computing"}],
     "temperature": 0.7
   }'
Enter fullscreen mode Exit fullscreen mode

4. Mô hình thị giác (Vision)

curl http://localhost:52415/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "llava-1.5-7b-hf",
     "messages": [{
       "role": "user",
       "content": [
         {"type": "text", "text": "Hình ảnh này có gì?"},
         {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
       ]
     }],
     "temperature": 0.0
   }'
Enter fullscreen mode Exit fullscreen mode

Mô hình được hỗ trợ

  • LLaMA: 3B, 8B, 70B, 405B
  • Mistral: 7B, 8x7B (Mixture of Experts)
  • DeepSeek: R1 (671B), Coder
  • Qwen: Các phiên bản khác nhau
  • LLaVA: Mô hình vision-language
  • Phi: Microsoft Phi series

Mẹo tối ưu hiệu suất

  • Nâng cấp macOS: Nếu dùng Mac, cập nhật lên Sequoia mới nhất
  • Chạy configure_mlx.sh: Trên Mac để tối ưu GPU
  • Thêm GPU: GPU mạnh hơn CPU nhiều lần, nên ưu tiên
  • Chọn mô hình phù hợp: Llama 3.2 3B nhanh hơn rất nhiều so với 70B
  • Đặt EXO_HOME: Nếu muốn lưu mô hình ở vị trí khác
  export EXO_HOME=/path/to/storage
  exo
Enter fullscreen mode Exit fullscreen mode

Khắc phục sự cố phổ biến

Lỗi: "Python version too old"

→ Cập nhật lên Python 3.12+ rồi cài đặt lại

SSL Certificate Error trên Mac

→ Chạy:

/Applications/Python\ 3.12/Install\ Certificates.command
Enter fullscreen mode Exit fullscreen mode

Không khám phá được thiết bị khác

→ Kiểm tra:

  • Tất cả thiết bị trên cùng Wi-Fi
  • Tường lửa không chặn UDP
  • Nếu cần, dùng Tailscale: exo --tailscale

Tốc độ chậm

→ Chạy debug logs để xem điều gì đang xảy ra:

DEBUG=9 exo
Enter fullscreen mode Exit fullscreen mode

Lợi ích cho cộng đồng Việt Nam

Với exo, cộng đồng AI Việt Nam có thể:

  • Chạy AI ngoại tuyến: Không lo về kiểm duyệt nội dung hoặc kết nối
  • Tiết kiệm chi phí: Đặc biệt hữu ích khi cloud APIs rất đắt
  • Học tập: Hiểu sâu hơn về cách hoạt động của LLM
  • Cộng tác: Chia sẻ cluster AI với bạn bè hoặc đồng nghiệp

Đây là một dự án đang phát triển tích cực với cộng đồng rất sôi nổi:

  • GitHub: exo-explore/exo (32k+ stars!)
  • Discord & Telegram: Tham gia cộng đồng để thảo luận
  • Contribute: Dự án chào đón các pull requests từ cộng đồng
  • Bounty Program: Nhận thưởng khi giải quyết vấn đề

Top comments (0)