Cách chạy AI giống ChatGPT trên PC của riêng bạn

Tác giả sysadmin, T.Ba 29, 2023, 09:47:16 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách chạy AI giống ChatGPT trên PC của riêng bạn


Bạn có thể chạy AI giống như ChatGPT trên PC của riêng mình với Alpaca, một chatbot do các nhà nghiên cứu của Stanford tạo ra. Nó hỗ trợ Windows, macOS và Linux. Bạn chỉ cần ít nhất 8GB RAM và khoảng 30GB dung lượng lưu trữ miễn phí.


Chatbots hiện đang rất thịnh hành và mọi người đều muốn có một phần hành động. Google có Bard, Microsoft có Bing Chat và ChatGPT của OpenAI thực tế đồng nghĩa với AI vào thời điểm này. Nhưng nếu bạn không muốn dựa vào dịch vụ đám mây cho chatbot của mình thì sao? Chúng tôi có AI giống như ChatGPT mà bạn có thể tải xuống — Alpaca.

1. Alpaca là gì?

Alpaca là một mô hình ngôn ngữ (về cơ bản là một chatbot), giống như ChatGPT. Nó có khả năng trả lời các câu hỏi, suy luận, kể chuyện cười và gần như mọi thứ khác mà chúng tôi mong đợi từ chatbot. Alpaca được tạo ra bởi  các nhà nghiên cứu Stanford  bằng cách tinh chỉnh  LLaMA của Facebook.

Không giống như ChatGPT và hầu hết các chatbot khác hiện có, Alpaca chạy hoàn toàn trên PC của chính bạn. Điều đó có nghĩa là không ai có thể rình mò các cuộc trò chuyện của bạn hoặc những gì bạn hỏi Alpaca và các trao đổi của bạn cũng không thể vô tình bị rò rỉ. Điều đó cũng có nghĩa là bạn không phải trả bất kỳ khoản phí hàng tháng nào, bạn có thể đào tạo mô hình hơn nữa để phù hợp hơn với nhu cầu của mình nếu bạn có phần cứng và bạn có thể tích hợp nó vào bất kỳ ứng dụng nào bạn muốn. Bạn chỉ bị giới hạn bởi phần cứng và khả năng lập trình của mình.

Tuy nhiên, nó cũng hoạt động tuyệt vời như một chatbot cũ thông thường mà bạn có thể nói chuyện và chúng tôi sẽ chỉ cho bạn cách chạy nó trên bất kỳ PC nào ngoài đó.

2. Alpaca so sánh với ChatGPT như thế nào?

Chúng tôi sẽ giải quyết vấn đề ngay từ đầu: ChatGPT 4 thông minh hơn và nhanh hơn Alpaca vào lúc này.

Tốc độ của Alpaca chủ yếu bị giới hạn bởi máy tính mà nó đang chạy — nếu bạn có một PC chơi game cực nhanh với nhiều lõi và nhiều RAM, bạn sẽ nhận được hiệu suất tốt từ nó. PC chậm hơn với ít lõi hơn sẽ mất nhiều thời gian hơn để tạo phản hồi. Tất nhiên, không thực sự công bằng hoặc thậm chí hợp lý khi so sánh nó với ChatGPT về mặt này — chúng tôi không biết ChatGPT đang chạy trên loại máy tính nào, nhưng nó chắc chắn mạnh hơn máy tính để bàn trung bình của bạn.

Hiện tại có ba biến thể chính của Alpaca là 7B, 13B và 30B. Nói chung, con số càng lớn thì chatbot sẽ càng thông minh.

Alpaca, đặc biệt là mẫu 7B, "ngu" hơn ChatGPT một cách đáng chú ý. Nó cũng không hợp lý và chắc chắn sẽ không vượt qua bài kiểm tra Turing. Tuy nhiên, 7B vẫn tuyệt vời nếu bạn muốn có gợi ý về công thức.

Các mô hình 13B và 30B là một câu chuyện hoàn toàn khác. 13B có khả năng cung cấp một cuộc trò chuyện mạch lạc, giống như con người và có thể trả lời các câu hỏi phức tạp. 30B thậm chí còn ấn tượng hơn, nếu bạn có phần cứng để chạy nó và nằm trong khoảng cách ấn tượng với ChatGPT. Nó sẽ tiếp tục một cách triết lý hoặc pha trò mà không bỏ lỡ một nhịp nào nếu được nhắc.

3. Bạn cần gì để chạy Alpaca?

Alpaca có các yêu cầu hệ thống khá linh hoạt. Những hướng dẫn này cao hơn mức tối thiểu trần nhưng là những hướng dẫn tốt. Chúng tôi cũng sẽ cài đặt cái này trên Windows. Nếu bạn đang cài đặt phần mềm này trên hệ thống chạy Linux hoặc macOS, chỉ cần bỏ qua phần Hệ thống con Windows dành cho Linux — phần này không liên quan đến bạn.

RAM 16 GB:

  • 32 GB là tốt hơn và cần thiết nếu bạn muốn chạy mô hình 30B

35 GB dung lượng lưu trữ trên ổ SSD nếu bạn muốn cả ba kiểu máy:

  • 4 GB cho kiểu 7B, 8 GB cho kiểu 13B và 20 GB cho kiểu 30B
  • 500 MB cho Ubuntu mặc định với WSL2
  • Một vài GB nữa giữa các phụ thuộc khác

Một CPU hiện đại là lý tưởng:

  • Bất kỳ CPU Ryzen nào
  • Bộ xử lý Intel thế hệ thứ 7 hoặc mới hơn

  • Hệ thống con Windows cho Linux 2 (WSL2)
  • GIT
  • Docker
  • Một dự án cộng đồng, Serge, mang đến cho Alpaca một giao diện web đẹp mắt

Cảnh báo: Hiện tại không có lý do gì để nghi ngờ dự án cụ thể này có bất kỳ lỗi bảo mật nghiêm trọng nào hoặc độc hại. Chúng tôi đã xem qua mã và tự chạy phần mềm và không tìm thấy điều gì đáng lo ngại. Điều đó không có nghĩa là nó đang hoặc sẽ vẫn an toàn. Luôn thận trọng với những thứ bạn tìm thấy trên internet và đánh giá lại sự an toàn theo định kỳ.

4. Cách chạy Alpaca cục bộ trên PC của bạn

Điều quan trọng là bạn phải làm theo các bước này theo thứ tự được đưa ra. Docker có thể sẽ bị hỏng nếu bạn không làm như vậy, yêu cầu cài đặt lại hoàn chỉnh cả WSL2 và Docker.

4.1. Cài đặt hệ thống con Windows cho Linux 2

Hệ thống con Windows của Microsoft dành cho Linux 2 (WSL2) cho phép bạn chạy phần mềm Linux trong Windows. Nó có chi phí thấp và thực sự tiện dụng trong nhiều trường hợp. Docker cho Windows dựa trên WSL2, vì vậy chúng tôi cần cài đặt WSL2 trước.

Lưu ý: Nếu bạn đã cài đặt WSL2, chỉ cần chạy wsl –update trong PowerShell để đảm bảo mọi thứ được cập nhật.

Mở cửa sổ PowerShell với tư cách Quản trị viên, sau đó nhập lệnh:

Mã nguồn [Chọn]
wsl --install
Sẽ mất một chút thời gian để tải xuống tất cả các tệp WSL2 và Ubuntu. Bạn phải khởi động lại PC sau khi cài đặt hoàn tất.


Khi quá trình khởi động lại đã được thực hiện, hãy mở lại PowerShell (không nhất thiết phải là quản trị viên) và chạy:

Mã nguồn [Chọn]
wsl -l -v
Bạn sẽ thấy một cái gì đó giống như hình ảnh bên dưới nếu mọi thứ hoạt động bình thường. Bạn cũng không cần phải cài đặt riêng Ubuntu. Bạn có thể cài đặt bất kỳ bản phân phối nào bạn thích, Ubuntu chỉ là mặc định.


4.2. Cài đặt Docker

Docker là một chương trình cho phép bạn chạy các chương trình trong một "bộ chứa". Các thùng chứa tương tự như các máy ảo, nhưng chúng có xu hướng ít chi phí hoạt động hơn và hiệu quả hơn đối với nhiều ứng dụng. Serge sử dụng Docker để cài đặt siêu tiện lợi.

Đầu tiên, tải xuống trình cài đặt Docker từ trang web Docker. Nếu bạn định chạy Docker trên Linux hoặc macOS, hãy chắc chắn rằng bạn lấy trình cài đặt thích hợp.

Lưu ý: Nếu đang chạy máy chủ Linux không đầu, bạn sẽ muốn làm theo các hướng dẫn thích hợp cho bản phân phối Linux của mình để Docker chạy.


Chạy trình cài đặt và sẵn sàng đợi vài phút. Docker sẽ mất một khoảng thời gian và thiết lập rất nhiều thứ đằng sau hậu trường. Sau khi hoàn tất, bạn sẽ muốn khởi động lại PC của mình.

Sau khi khởi động lại, hãy mở PowerShell và chạy wsl -l -vlại. Lần này bạn cũng sẽ thấy một số mục liên quan đến Docker.


4.3. Cài đặt GIT trên Windows

Điều kiện tiên quyết cuối cùng là Git, mà chúng tôi sẽ sử dụng để tải xuống (và cập nhật) Serge tự động từ Github. Điều này không thực sự cần thiết vì bạn luôn có thể tải xuống ZIP và giải nén thủ công, nhưng Git thì tốt hơn.

Truy cập trang web Git và tải xuống phiên bản phù hợp cho hệ điều hành của bạn. Người dùng Windows chỉ cần chạy tệp thực thi. Đảm bảo ít nhất là xem xét các tùy chọn cài đặt thay vì Chỉ cần nhấp nhanh qua tất cả các tùy chọn. Một, được hiển thị trong ảnh chụp màn hình bên dưới, là cực kỳ quan trọng.


Sau khi cài đặt xong Git, bạn đã sẵn sàng để cài đặt Serge và Alpaca.

4.4. Cài đặt Serge và Alpaca

Trước tiên, hãy đảm bảo rằng Docker Desktop đang chạy. Sau đó, mở PowerShell hoặc Windows Terminal bằng cửa sổ PowerShell đang mở (không phải với tư cách quản trị viên) và chạy lệnh sau:

Mã nguồn [Chọn]
git clone https://github.com/nsarrazin/serge.git && cd serge
Thao tác này sẽ tải các tệp từ GitHub xuống một thư mục trên PC của bạn, sau đó thay đổi thư mục hoạt động thành thư mục đã được tạo.


Lệnh tiếp theo bạn cần chạy là:

Mã nguồn [Chọn]
cp .env.sample .env
Dòng đó tạo một bản sao của .env.sample và đặt tên cho bản sao là ".env." Tệp chứa các đối số liên quan đến cơ sở dữ liệu cục bộ lưu trữ các cuộc hội thoại của bạn và cổng mà máy chủ web cục bộ sử dụng khi bạn kết nối.

Sau đó chạy:

Mã nguồn [Chọn]
docker compose up -d
Docker kết  hợp các container khác nhau thành một gói gọn gàng. Bạn có thể kiểm tra tệp docker-compose.yml trong thư mục Serge nếu bạn muốn xem cụ thể hơn những gì liên quan ở đây.


Lệnh cuối cùng sẽ bắt đầu quá trình tải xuống và tại đây bạn cần đưa ra lựa chọn trước khi tiếp tục. Có ba biến thể khác nhau mà bạn có thể tải xuống: 7B, 13B và 30B. 7B là mô hình đơn giản nhất và "ngu nhất", trong khi 30B là mô hình phức tạp nhất và thông minh nhất. 13B là trung gian.


Các bản cài đặt Linux (và có thể cả macOS) sẽ có thể sử dụng ít RAM hệ thống hơn so với các bản cài đặt Windows - Windows hơi ngốn RAM. Có lẽ bạn nên bắt đầu với biến thể 7B trước vì đây là tùy chọn ít đòi hỏi nhất. Bạn luôn có thể tải xuống 13B hoặc 30B sau nếu muốn.

Chạy lệnh sau để tải xuống mô hình 7B (hoặc thay thế 13B hoặc 30B).

Mã nguồn [Chọn]
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
Hãy sẵn sàng chờ đợi, đặc biệt nếu bạn chọn biến thể 30B. Máy chủ Huggingface dường như đạt tốc độ cao nhất khoảng 20 megabyte mỗi giây, vì vậy bạn sẽ xem xét 50 giây mỗi gigabyte được tải xuống trong trường hợp tốt nhất.


5. Sử dụng Serge và Alpaca

Docker và tất cả các bộ chứa bắt buộc hiện đang chạy nếu bạn đã làm theo các hướng dẫn này, tuy nhiên, bạn sẽ phải bật lại chúng nếu khởi động lại máy tính của mình. Để làm điều đó, chỉ cần mở Docker Desktop và nhấp vào các nút hình tam giác nhỏ. Các biểu tượng ở bên trái cột "Tên" chuyển sang màu xanh lục khi các vùng chứa đang chạy.


Mọi thứ đã được cài đặt và sẵn sàng hoạt động vào thời điểm này. Chỉ cần mở trình duyệt của bạn và nhập " localhost :8008″ vào thanh địa chỉ, giống như bạn truy cập Facebook hoặc bất kỳ trang web nào khác.

Lưu ý: Nếu bạn đang lưu trữ Alpaca/Serge trên một máy tính khác, bạn sẽ cần nhập địa chỉ IP cục bộ của thiết bị đó thay vì localhost.

Màn hình chính có các cuộc trò chuyện trước đó của bạn được hiển thị dọc bên trái và cài đặt cho cuộc trò chuyện mới được hiển thị ở giữa.


Có khá nhiều cài đặt có sẵn, nhưng có năm cài đặt mà bạn thực sự muốn chú ý đến:

  • Nhiệt độ – Xác định mức độ tự do mà AI trả lời. Số thấp hơn dẫn đến câu trả lời cứng nhắc hơn, trong khi số cao hơn thì sáng tạo hơn.
  • Độ dài văn bản được tạo tối đa tính bằng mã thông báo  – Thời lượng mà bot viết có thể là bao lâu.
  • Lựa chọn kiểu máy – Chọn giữa 7B, 13B, 30B và bất kỳ kiểu máy nào khác mà bạn cài đặt.
  • n_threads – Số lượng luồng mà Serge/Alpaca có thể sử dụng trên CPU của bạn. Phân bổ nhiều hơn sẽ cải thiện hiệu suất
  • Lời nhắc trước  để khởi tạo cuộc trò chuyện – Cung cấp ngữ cảnh trước khi cuộc trò chuyện bắt đầu để thiên về cách chatbot trả lời.

Trong trường hợp này, chúng tôi đã tăng nhiệt độ và luồng, chọn kiểu 13B và nói với chatbot rằng đó là cướp biển.


Đây là một ví dụ về cuộc trò chuyện đã diễn ra như thế nào.


Bạn có thể nói về bất cứ điều gì bạn muốn với Alpaca và bạn không phải lo lắng về những gì đang xảy ra với dữ liệu của mình. Nó vẫn còn trên thiết bị của bạn, dưới sự kiểm soát của bạn mọi lúc.

Hãy nhớ rằng ChatGPT, Alpaca và các chatbot khác có vẻ đáng tin cậy, nhưng chúng không phải lúc này. Họ thể hiện rất rõ quan điểm: "Nếu bạn không thể làm họ lóa mắt bằng sự sáng chói, hãy làm họ bối rối bằng BS." Xu hướng bịa đặt mọi thứ của họ được mệnh danh là "ảo giác". Đừng dựa vào chúng để làm bất cứ điều gì thiết yếu, đặc biệt không phải là điều quan trọng đối với công việc hoặc sức khỏe của bạn. Chúng chỉ nên được sử dụng cho mục đích giải trí hoặc thử nghiệm tại thời điểm này.

Tuy nhiên, công nghệ sẽ chỉ trở nên tốt hơn theo thời gian — sẽ không lâu nữa chúng ta sẽ thấy Alpaca (hoặc AI chạy cục bộ khác) được tích hợp vào máy chủ Discord, mod Minecraft và bất kỳ ứng dụng sáng tạo nào khác. Tinh chỉnh hơn nữa cũng sẽ dẫn đến các mô hình nhanh hơn, chính xác hơn có thể chạy trên phần cứng yếu hơn.