Chuyển đến nội dung chính

Cách chạy Llama 3.2 1B trên điện thoại Android với Torchchat

Làm theo hướng dẫn từng bước để thiết lập và chạy Llama 3.2 1B trên thiết bị Android của bạn bằng khung Torchchat.
Đã cập nhật 5 thg 10, 2026  · 12 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Gần đây tôi đã viết một bài về cách chạy LLM bằng Python và Torchchat. Torchchat là một framework linh hoạt được thiết kế để thực thi LLM hiệu quả trên nhiều nền tảng phần cứng khác nhau. Chạy LLM cục bộ mang lại một số lợi ích, gồm:

  • Truy cập ngoại tuyến: Vì mô hình chạy trên thiết bị của chúng ta nên không cần kết nối internet để sử dụng.
  • Quyền riêng tư: Vì tự chúng ta chạy mô hình nên prompt và dữ liệu nhập vào được giữ riêng tư.
  • Chi phí: Chúng ta có thể chạy mô hình miễn phí.

Sau đợt phát hành gần đây của Facebook về Llama 3.2, tôi quyết định mở rộng bài viết trước để hướng dẫn cách triển khai lên điện thoại di động, tập trung vào Android.

Dưới đây là tổng quan ở mức cao về những việc cần làm:

  • Tải xuống các tệp mô hình, vốn được cung cấp miễn phí vì mô hình là mã nguồn mở.
  • Tạo các tệp cần thiết để chạy mô hình trên thiết bị di động.
  • Thiết lập một ứng dụng chat Android để thực thi mô hình.

Torchchat cung cấp giải pháp cho tất cả các bước này. Nó có các lệnh để tải mô hình và tạo những tệp cần thiết để chạy. Bên cạnh đó, nó đi kèm một ứng dụng chat Android demo, vì vậy chúng ta không cần tự xây dựng.

Tải Torchchat

Bước đầu tiên là clone kho Torchchat bằng Git:

git clone git@github.com:pytorch/torchchat.git

Chúng ta cũng có thể làm điều này mà không cần Git bằng cách tải xuống qua nút download trên GitHub:

Tải Torchchat từ GitHub

Lưu ý quan trọng: Sau khi clone (hoặc tải) kho, một thư mục tên torchchat sẽ có trên máy tính của chúng ta. Mọi lệnh nêu trong bài này đều cần được thực thi từ bên trong thư mục đó.

Cài đặt Torchchat

Chúng ta giả định rằng Python và Anaconda đã được cài đặt. Nếu chưa, hãy tham khảo hai hướng dẫn này: Cài đặt Anaconda trên Windows và Cách cài đặt Anaconda trên Mac OS X.

Ngoài ra, hãy làm theo các bước trong kho Torchchat, sử dụng môi trường ảo thay vì Anaconda.

Bắt đầu bằng việc tạo một môi trường Anaconda với lệnh:

conda create -yn llama python=3.10.0

Lệnh này tạo môi trường tên llama dùng phiên bản 3.10 của Python. Tùy chọn -yn là kết hợp của -y và -n:

  • Tùy chọn -y cho phép lệnh tiếp tục mà không hỏi xác nhận trước khi tạo môi trường.
  • Tùy chọn -n chỉ định tên môi trường, trong trường hợp này là llama. Sau khi tạo môi trường, chúng ta kích hoạt nó và cài đặt các phụ thuộc. 

Để kích hoạt, dùng lệnh sau:

conda activate llama

Để cài đặt các phụ thuộc cần thiết, chúng ta dùng script cài đặt do TorchChat cung cấp:

./install/install_requirements.sh

Tải mô hình Llama 3.2 1B

Trong hướng dẫn này, chúng ta sẽ dùng mô hình Llama 3.2 1B, một mô hình một tỷ tham số. Có thể tải về bằng lệnh:

python torchchat.py download llama3.2-1b

Quy trình tương tự để thử nghiệm với các mô hình khác—chỉ cần thay llama3.2-1b bằng bí danh của mô hình mong muốn. Lưu ý chỉ chọn các mô hình được đánh dấu là thân thiện với thiết bị di động.

Torchchat tận dụng Hugging Face để quản lý mô hình. Do đó, tải mô hình yêu cầu tài khoản Hugging Face. Để có hướng dẫn chi tiết về cách tạo tài khoản và đăng nhập từ terminal, hãy xem mục “Downloading a model” trong hướng dẫn Torchchat này.

Ngoài ra, cũng có thể tải mô hình từ trang web chính thức của Llama. Tuy nhiên, dùng Torchchat tiện hơn vì hỗ trợ xuất tệp mô hình để triển khai trên di động.

Xuất mô hình

Để triển khai lên thiết bị di động, trước tiên chúng ta xuất mô hình để tạo .pte artifact là tệp được Executorch sử dụng. Executorch là engine mà Torchchat dùng để chạy LLM trên thiết bị di động.

Để tạo tệp PTE, trước hết phải cài Executorch. Thực hiện bằng cách chạy các lệnh sau:

export TORCHCHAT_ROOT=${PWD} 
./torchchat/utils/scripts/install_et.sh

Sau khi cài đặt xong, có thể tạo tệp PTE bằng lệnh:

python torchchat.py export llama3.2-1b --quantize torchchat/quant_config/mobile.json --output-pte-path llama3_2-1b.pte

Lệnh này cũng sẽ lượng tử hóa mô hình, giúp giảm kích thước và tăng tốc suy luận. Chúng ta dùng cấu hình mặc định của Torchchat trong torchchat/quant_config/mobile.json.

Khi quá trình hoàn tất, một tệp tên llama3_2-1b.pte sẽ được tạo trong thư mục torchchat.

Chuẩn bị ứng dụng di động

Torchchat cung cấp một ứng dụng Android demo cho phép chúng ta vận hành Llama trực tiếp trên điện thoại. Dự án demo này nằm trong thư mục Torchchat đã tải về. Đường dẫn tương đối là torchchat/edge/android/torchchat. Lưu ý tham chiếu torchchat đầu tiên trong đường dẫn là một thư mục bên trong kho, không phải thư mục gốc của kho.

Tải và thiết lập thư viện Java

  1. Tải tệp .aar do Torchchat cung cấp. Tệp này chứa thư viện Java và thư viện JNI tương ứng để build và chạy ứng dụng. 
  2. Đi tới thư mục ứng dụng: torchchat/edge/android/torchchat/app/
  3. Tạo một thư mục tên libs (nếu chưa có)
  4. Đổi tên tệp đã tải thành executorch.aar và dán vào thư mục libs.

Nạp dự án Android trên Android Studio

Tải và cài đặt Android Studio từ trang web chính thức. Khi cài đặt xong, mở dự án:

Mở ứng dụng demo trên Android Studio

Dự án demo nằm tại torchchat/edge/android/torchchat.

Khi mở dự án, chúng ta sẽ thấy cửa sổ hỏi có tin cậy mã hay không:

Popup sau khi mở ứng dụng demo

Tại đây, chọn tùy chọn “Trust Project”.

Sau khi mở dự án, Android Studio sẽ cần thời gian để tải cấu hình và hoàn tất thiết lập ban đầu. Quan trọng là chờ đến khi hoàn tất. Có thể theo dõi trạng thái ở góc dưới bên phải cửa sổ. Khi sẵn sàng, nút chạy ở trên cùng sẽ chuyển sang màu xanh lá:

Cách biết dự án đã được nạp

Bật chế độ nhà phát triển trên Android

Để có thể chạy ứng dụng trên điện thoại qua Android Studio, chúng ta cần bật chế độ nhà phát triển trên thiết bị. Cách thực hiện:

  1. Vào "Cài đặt"
  2. Chọn "Giới thiệu về thiết bị" hoặc "Giới thiệu về điện thoại"
  3. Mở “Thông tin phần mềm”
  4. Tìm “Số hiệu bản dựng” và nhấn bảy lần

Xong! Giờ chúng ta có thể dùng thiết bị để chạy ứng dụng từ Android Studio. Khi làm vậy, ứng dụng sẽ ở lại trên điện thoại, cho phép chạy ngay cả khi không kết nối máy tính.

Cài đặt adb

Ứng dụng cần các tệp mô hình nằm ở một thư mục cụ thể trên điện thoại. Để gửi các tệp đó sang điện thoại, chúng ta dùng adb (Android Debug Bridge). Có thể cài đặt qua Android Studio theo các bước sau:

  1. Vào phần cài đặt và bắt đầu gõ “Android SDK” trong thanh tìm kiếm
  2. Tìm menu “Android SDK” và nhấp vào
  3. Chọn tùy chọn “Android SDK command line tools (latest)”
  4. Nhấp “Apply” để cài đặt

Cài adb từ Android Studio

Lưu ý ở đầu cửa sổ, Android Studio hiển thị vị trí của Android sdk:

Tìm đường dẫn tới adb

Chúng ta sao chép đường dẫn đó và thực thi lệnh sau (thay <android_skd_location> bên dưới bằng đường dẫn vừa sao chép):

export PATH=$PATH:<android_skd_location>/platform-tools/

Để xác nhận adb đã được cài thành công, dùng lệnh adb --version, lệnh này sẽ hiển thị phiên bản adb.

Thiết lập ứng dụng trên điện thoại

Kết nối điện thoại với máy tính bằng cáp. Tên thiết bị sẽ xuất hiện trên danh sách thiết bị cạnh nút chạy:

Chọn thiết bị trong Android Studio

Trước khi chạy ứng dụng trên điện thoại, giờ chúng ta dùng adb để sao chép các tệp mô hình cần thiết sang thiết bị.

  1. Tìm id của thiết bị bằng lệnh adb devices. Có thể có nhiều dòng trong đầu ra. Xác định dòng có dạng <device_code> device và sao chép mã thiết bị.
  2. Tạo thư mục lưu trữ tệp mô hình bằng adb -s <device_code> shell mkdir -p /data/local/tmp/llama.
  3. Sao chép tệp .pte nằm trong thư mục torchchat bằng adb -s <device_code> push llama3_2-1b.pte /data/local/tmp/llama.
  4. Xác định vị trí tệp tokenizer của mô hình bằng python torchchat.py where llama3.2-1b. Lệnh sẽ in ra nhiều dòng, chúng ta quan tâm tới đường dẫn ở dòng cuối.

Xác định vị trí tệp tokenizer.model

  1. Sao chép tệp tokenizer sang thiết bị bằng adb -s <device_code> push <model_path>/tokenizer.model /data/local/tmp/llama thay <model_path> bằng đường dẫn thu được ở bước trước.

Sau khi hoàn tất các bước này, các tệp mô hình sẽ có trên điện thoại và sẵn sàng sử dụng. Có thể kiểm tra bằng cách liệt kê tất cả tệp trong thư mục trên thiết bị mà chúng ta vừa tạo:

adb -s <device_code> shell ls 

Đầu ra sẽ có hai tệp vừa sao chép:

llama3_2-1b.pte
tokenizer.model

Chạy ứng dụng

Mọi thứ đã sẵn sàng để chạy ứng dụng demo trên điện thoại. Chúng ta có thể nhấp mũi tên xanh để chạy.

Chạy ứng dụng trên điện thoại

Thao tác này sẽ mở ứng dụng trên thiết bị. Ứng dụng sẽ yêu cầu chúng ta chọn các tệp mô hình và tokenizer.

Chọn mô hình và tokenizer

Sử dụng ứng dụng Llama 3.2 1B

Giờ chúng ta có thể bắt đầu trò chuyện với Llama3.2 1B trên điện thoại! Giao diện ứng dụng khá đơn giản. Có thể dùng ô “Prompt” để nhập prompt và gửi tới mô hình bằng nút “Generate”.

Vì mô hình chạy ngoại tuyến, tôi có thể dùng nó trên máy bay đến điểm đến tiếp theo để hỏi, chẳng hạn, vài gợi ý món ăn:

Ví dụ sử dụng ứng dụng

Qua tương tác này, chúng ta thấy một vài hạn chế của ứng dụng demo:

  1. Câu trả lời lặp lại prompt của chúng ta.
  2. Định dạng câu trả lời bắt đầu bằng “I’ve been to Taiwan…” cho thấy ứng dụng chưa được thiết kế để dùng mô hình trực tiếp như một trợ lý.
  3. Phản hồi bị cắt đột ngột, có thể do đã đạt giới hạn token.

Chúng ta có thể so sánh hành vi bằng cách chạy cùng mô hình trên terminal với lệnh:

python torchchat.py chat llama3.2-1b

Chúng tôi cung cấp cùng prompt để xem hành vi có khác không. Thật vậy, trong trường hợp này, câu trả lời có vẻ tự nhiên và hữu ích hơn nhiều, dù cũng bị cắt:

Hành vi của mô hình trên máy tính

Tôi đã liên hệ với đội ngũ phía sau Torchchat, và họ cho biết Llama 3.2 còn quá mới và ứng dụng demo cần được cập nhật một chút để hỗ trợ.

Tuy nhiên, quy trình thiết lập sẽ vẫn như vậy và kiến thức thu được ở đây vẫn áp dụng cho phiên bản đã cập nhật. Có thể khi bạn đọc bài này, ứng dụng đã được cập nhật và hoạt động bình thường.

Kết luận

Trong hướng dẫn này, chúng ta đã học cách thiết lập Llama 3.2 1B trực tiếp trên thiết bị Android bằng Torchchat. Chúng ta đã đi qua quy trình từng bước để tải và cài đặt các thành phần cần thiết, bao gồm tệp mô hình và ứng dụng Android demo.

Dù ứng dụng demo hiện tại còn một số hạn chế, đặc biệt về định dạng và độ dài phản hồi, tiềm năng nền tảng của những triển khai như vậy là rất lớn.

Nếu bạn muốn đọc thêm về Llama 3.2, tôi gợi ý các blog sau:


François Aubry's photo
Author
François Aubry
LinkedIn
Kỹ sư full-stack & nhà sáng lập tại CheapGPT. Giảng dạy luôn là niềm đam mê của tôi. Từ những ngày còn là sinh viên, tôi đã háo hức tìm kiếm cơ hội kèm cặp và hỗ trợ các bạn học khác. Niềm đam mê đó đã thôi thúc tôi theo học tiến sĩ, nơi tôi cũng đảm nhiệm vai trò trợ giảng để hỗ trợ con đường học thuật của mình. Trong những năm ấy, tôi tìm thấy sự mãn nguyện lớn lao trong môi trường lớp học truyền thống, xây dựng kết nối và thúc đẩy việc học tập. Tuy nhiên, với sự ra đời của các nền tảng học trực tuyến, tôi nhận ra tiềm năng thay đổi của giáo dục số. Thực tế, tôi đã trực tiếp tham gia phát triển một nền tảng như vậy tại trường đại học của chúng tôi. Tôi tận tâm kết hợp các nguyên tắc giảng dạy truyền thống với những phương pháp số đổi mới. Đam mê của tôi là tạo ra các khóa học không chỉ hấp dẫn và giàu thông tin mà còn dễ tiếp cận với người học trong thời đại số này.
Chủ đề
Trí tuệ Nhân tạo
Mô hình Ngôn ngữ Lớn

Học AI với các khóa học này!

Khóa học

Làm việc với Llama 3

2 giờ
15.7K
Khám phá các kỹ thuật mới nhất để chạy Llama LLM tại chỗ và tích hợp nó vào hệ thống của bạn.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm