Cách chạy Chatbot AI miễn phí, ngoại tuyến và hoàn toàn riêng tư của riêng bạn

Tác giả AI+, T.Sáu 26, 2024, 05:49:07 CHIỀU

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

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

Hãy là người tạo nội dung AI của riêng bạn! Dưới đây là cách bắt đầu chạy các lựa chọn thay thế LLM miễn phí bằng CPU và GPU của PC của bạn.

Sức mạnh của các mô hình ngôn ngữ lớn (LLM), thường được tạo ra nhờ điện toán đám mây, là điều hiển nhiên, nhưng bạn đã bao giờ nghĩ đến việc chạy một chatbot AI trên máy tính xách tay hoặc máy tính để bàn của riêng mình chưa ? Tùy thuộc vào mức độ hiện đại của hệ thống, bạn có thể chạy LLM trên phần cứng của riêng mình. Nhưng vì sao bạn lại muốn có nó?


Chà, có thể bạn muốn tinh chỉnh một công cụ cho dữ liệu của riêng mình. Có lẽ bạn muốn giữ cuộc trò chuyện AI của mình ở chế độ riêng tư và ngoại tuyến. Bạn có thể chỉ muốn xem các mô hình AI có thể làm gì mà không cần các công ty chạy máy chủ đám mây tắt bất kỳ chủ đề trò chuyện nào mà họ cho là không thể chấp nhận được. Với LLM giống ChatGPT trên phần cứng của riêng bạn, tất cả các tình huống này đều có thể xảy ra.

Và phần cứng ít gặp trở ngại hơn bạn nghĩ. Các LLM mới nhất được tối ưu hóa để hoạt động với card đồ họa Nvidia và với máy Mac sử dụng bộ xử lý dòng Apple M—ngay cả các hệ thống Raspberry Pi công suất thấp. Và khi phần cứng tập trung vào AI mới xuất hiện trên thị trường, chẳng hạn như NPU tích hợp của bộ xử lý "Meteor Lake" của Intel hoặc Ryzen AI của AMD, các chatbot chạy cục bộ sẽ dễ tiếp cận hơn bao giờ hết.

Nhờ các nền tảng như Ôm mặt và các cộng đồng như LocalLlaMA của Reddit, các mô hình phần mềm đằng sau các công cụ giật gân như ChatGPT hiện có các mã nguồn mở tương đương—trên thực tế, có hơn 200.000 mô hình khác nhau có sẵn tại thời điểm viết bài này. Ngoài ra, nhờ các công cụ như WebUI tạo văn bản của Oobabooga, bạn có thể truy cập chúng trong trình duyệt của mình bằng các giao diện đơn giản, rõ ràng tương tự như ChatGPT, Microsoft Copilot và Google Gemini.

Các mô hình phần mềm đằng sau các công cụ giật gân như ChatGPT hiện có các mô hình nguồn mở tương đương—trên thực tế, có hơn 200.000 mô hình khác nhau.

Vì vậy, tóm lại, các công cụ AI chạy cục bộ đều có sẵn miễn phí và bất kỳ ai cũng có thể sử dụng chúng. Tuy nhiên, không có cái nào trong số chúng được tạo sẵn cho người dùng không rành về kỹ thuật và danh mục này đủ mới nên bạn sẽ không tìm thấy nhiều hướng dẫn hoặc hướng dẫn dễ hiểu về cách tải xuống và chạy LLM của riêng bạn. Điều quan trọng cần nhớ là LLM cục bộ sẽ không nhanh bằng nền tảng máy chủ đám mây vì tài nguyên của nó chỉ giới hạn trong hệ thống của bạn.

Tuy nhiên, chúng tôi ở đây để giúp những người tò mò bằng hướng dẫn từng bước để thiết lập chatbot AI tổng hợp của riêng bạn trên PC của riêng bạn. Hướng dẫn của chúng tôi sử dụng máy Windows nhưng các công cụ được liệt kê ở đây thường có sẵn cho hệ thống Mac và Linux, mặc dù có thể cần một số bước bổ sung khi sử dụng các hệ điều hành khác nhau.

1. Một số cảnh báo về việc chạy LLM cục bộ

Tuy nhiên, trước tiên, hãy lưu ý một số điều — hãy lưu ý điều đó, rất nhiều lưu ý. Như chúng tôi đã nói, những mô hình này miễn phí và được cung cấp bởi cộng đồng nguồn mở. Họ dựa vào rất nhiều phần mềm khác, thường là phần mềm miễn phí và nguồn mở. Điều đó có nghĩa là mọi thứ được duy trì bởi một nhóm lập trình viên độc lập và các nhóm tình nguyện viên, cùng với một số công ty lớn như Facebook và Microsoft. Vấn đề là bạn sẽ gặp rất nhiều bộ phận chuyển động và nếu đây là lần đầu tiên bạn làm việc với phần mềm nguồn mở, đừng mong đợi nó sẽ đơn giản như việc tải xuống một ứng dụng trên điện thoại của bạn. Thay vào đó, nó giống như cài đặt một loạt phần mềm trước khi bạn có thể nghĩ đến việc tải xuống ứng dụng cuối cùng mà bạn muốn—khi đó ứng dụng này có thể vẫn không hoạt động. Và cho dù chúng tôi có cố gắng thực hiện hướng dẫn này kỹ lưỡng và thân thiện với người dùng đến đâu, bạn vẫn có thể gặp phải những trở ngại mà chúng tôi không thể giải quyết trong một bài viết duy nhất.

Ngoài ra, việc tìm kiếm câu trả lời có thể là một nỗi đau thực sự. Các cộng đồng trực tuyến dành cho những chủ đề này thường hữu ích trong việc giải quyết vấn đề. Thông thường, ai đó đã giải quyết được vấn đề bạn đang gặp phải trong một cuộc trò chuyện mà bạn có thể tìm thấy trực tuyến chỉ với một chút tìm kiếm. Nhưng cuộc trò chuyện đó ở đâu? Nó có thể có trên Reddit, trong Câu hỏi thường gặp, trên trang GitHub, trong diễn đàn người dùng trên HuggingFace hoặc hoàn toàn ở một nơi nào khác.

AI là cát lún. Mọi thứ đều chuyển động nhanh chóng và môi trường liên tục trải qua những thay đổi lớn.

Cần nhắc lại rằng AI nguồn mở đang phát triển rất nhanh. Mỗi ngày các mô hình mới được phát hành và các công cụ được sử dụng để tương tác với chúng gần như thay đổi thường xuyên, cũng như các phương pháp và dữ liệu đào tạo cơ bản cũng như tất cả phần mềm hỗ trợ điều đó. Là một chủ đề để viết hoặc đi sâu vào, AI chính là cát lún. Mọi thứ đều chuyển động nhanh chóng và môi trường liên tục trải qua những thay đổi lớn. Rất nhiều phần mềm được thảo luận ở đây có thể không tồn tại được lâu trước khi các LLM và ứng dụng khách mới hơn và tốt hơn được phát hành.

Điểm mấu chốt: Hãy tự chịu rủi ro khi tiến hành. Không có Geek Squad để yêu cầu trợ giúp về phần mềm nguồn mở; nó không phải tất cả đều được duy trì một cách chuyên nghiệp; và bạn sẽ không tìm thấy cuốn sách hướng dẫn hữu ích nào để đọc hoặc bộ phận dịch vụ khách hàng để xem—chỉ có một loạt các cộng đồng trực tuyến được tổ chức lỏng lẻo.

Cuối cùng, khi bạn đã chạy tất cả, các mô hình AI này có mức độ trau chuốt khác nhau, nhưng chúng đều mang những cảnh báo giống nhau: Đừng tin những gì chúng nói theo bề ngoài, vì nó thường sai. Đừng bao giờ trông cậy vào chatbot AI để giúp bạn đưa ra các quyết định về sức khỏe hoặc tài chính. Điều tương tự cũng xảy ra với việc viết các bài tiểu luận ở trường hoặc các bài báo trên trang web của bạn. Ngoài ra, nếu AI nói điều gì đó xúc phạm, hãy cố gắng đừng coi đó là chuyện cá nhân. Đó không phải là một người đưa ra phán xét hoặc đưa ra những ý kiến đáng nghi vấn; đó là một trình tạo từ thống kê được tạo ra để tạo ra hầu hết các câu dễ đọc. Nếu bất kỳ điều nào trong số này nghe có vẻ quá đáng sợ hoặc tẻ nhạt thì đây có thể không phải là dự án dành cho bạn.

2. Chọn phần cứng của bạn

Trước khi bắt đầu, bạn cần biết một số điều về máy mà bạn muốn chạy LLM trên đó. Đây là PC Windows, Mac hay Linux box? Hướng dẫn này, một lần nữa, sẽ tập trung vào Windows, nhưng hầu hết các tài nguyên được tham chiếu đều cung cấp các tùy chọn và hướng dẫn bổ sung cho các hệ điều hành khác.

Bạn cũng cần biết liệu hệ thống của bạn có GPU rời hay dựa vào đồ họa tích hợp của CPU. Rất nhiều LLM nguồn mở chỉ có thể chạy trên CPU và bộ nhớ hệ thống của bạn, nhưng hầu hết đều được tạo ra để tận dụng sức mạnh xử lý của chip đồ họa chuyên dụng và RAM video bổ sung của nó. Máy tính xách tay chơi game, máy tính để bàn và máy trạm phù hợp hơn với các ứng dụng này vì chúng có phần cứng đồ họa mạnh mẽ mà các mẫu máy này thường dựa vào.

Trong trường hợp của chúng tôi, chúng tôi đang sử dụng máy tính xách tay chơi game Lenovo Legion Pro 7i Gen 8, kết hợp CPU Intel Core i9-13900HX mạnh mẽ, RAM hệ thống 32 GB và GPU di động Nvidia GeForce RTX 4080 mạnh mẽ với 12GB VRAM chuyên dụng.

Nếu bạn đang sử dụng hệ thống Mac hoặc Linux, phụ thuộc vào CPU hoặc đang sử dụng phần cứng AMD thay vì Intel, hãy lưu ý rằng mặc dù các bước chung trong hướng dẫn này là chính xác nhưng bạn có thể cần thêm các bước và phần mềm bổ sung hoặc phần mềm khác để cài đặt. Và hiệu suất bạn thấy có thể khác biệt rõ rệt so với những gì chúng ta thảo luận ở đây.

3. Thiết lập môi trường của bạn và các phần phụ thuộc bắt buộc

Để bắt đầu, bạn phải tải xuống một số phần mềm cần thiết: Microsoft Visual Studio 2019. Mọi phiên bản cập nhật của Visual Studio 2019 sẽ hoạt động (mặc dù không phải là bản phát hành hàng năm mới hơn), nhưng chúng tôi khuyên bạn nên tải phiên bản mới nhất trực tiếp từ Microsoft.


Người dùng cá nhân có thể bỏ qua phiên bản Enterprise và Professional và chỉ sử dụng phiên bản BuildTools của phần mềm.


Sau khi chọn điều đó, hãy nhớ chọn "Phát triển máy tính để bàn với C++." Bước này rất cần thiết để các phần mềm khác hoạt động bình thường.


Bắt đầu tải xuống và quay lại: Tùy thuộc vào kết nối Internet của bạn, có thể mất vài phút trước khi phần mềm sẵn sàng khởi chạy.


4. Tải xuống Trình cài đặt WebUI tạo văn bản của Oobabooga

Tiếp theo, bạn cần tải xuống công cụ WebUI tạo văn bản từ Oobabooga. (Đúng, đó là một cái tên ngớ ngẩn, nhưng dự án GitHub tạo ra một giao diện dễ cài đặt và dễ sử dụng cho các công cụ AI, vì vậy đừng quá bận tâm với biệt danh này.)


Để tải xuống công cụ, bạn có thể điều hướng qua trang GitHub hoặc truy cập trực tiếp vào bộ sưu tập trình cài đặt chỉ bằng một cú nhấp chuột mà Oobabooga đã cung cấp. Chúng tôi đã cài đặt phiên bản Windows nhưng đây cũng là nơi bạn sẽ tìm thấy các trình cài đặt cho Linux và macOS. Tải xuống tệp zip hiển thị bên dưới.


Tạo một thư mục tệp mới ở đâu đó trên PC mà bạn có thể nhớ và đặt tên là AI_Tools hoặc tên nào đó tương tự. Không sử dụng bất kỳ dấu cách nào trong tên thư mục vì điều đó sẽ làm rối loạn một số quá trình tải xuống và cài đặt tự động của trình cài đặt.


Sau đó, trích xuất nội dung của tệp zip bạn vừa tải xuống vào thư mục AI_Tools mới.

5. Chạy Trình cài đặt WebUI tạo văn bản

Khi tệp zip đã được giải nén vào thư mục mới của bạn, hãy xem qua nội dung. Bạn sẽ thấy một số tệp, trong đó có một tệp có tên start_windows.bat. Bấm đúp vào nó để bắt đầu cài đặt.

Tùy thuộc vào cài đặt hệ thống của bạn, bạn có thể nhận được cảnh báo về Windows Defender hoặc một công cụ bảo mật khác chặn hành động này vì nó không phải từ nhà cung cấp phần mềm được công nhận. (Chúng tôi chưa thấy hoặc thấy bất kỳ điều gì được báo cáo trực tuyến cho thấy rằng có bất kỳ vấn đề nào với các tệp này, nhưng chúng tôi sẽ nhắc lại rằng bạn tự chịu rủi ro khi thực hiện việc này.) Nếu bạn muốn tiếp tục, hãy chọn "Thông tin thêm" để xác nhận xem bạn muốn chạy start_windows.bat. Nhấp vào "Run Dù sao" để tiếp tục cài đặt.


Bây giờ, trình cài đặt sẽ mở dấu nhắc lệnh (CMD) và bắt đầu cài đặt hàng tá phần mềm cần thiết để chạy công cụ WebUI tạo văn bản. Nếu bạn không quen với giao diện dòng lệnh, chỉ cần ngồi lại và xem.


Đầu tiên, bạn sẽ thấy rất nhiều văn bản cuộn qua, theo sau là các thanh tiến trình đơn giản được tạo thành từ các ký hiệu hashtag hoặc pound, sau đó một lời nhắc văn bản sẽ xuất hiện. Nó sẽ hỏi bạn GPU của bạn là gì, giúp bạn có cơ hội cho biết liệu bạn đang sử dụng silicon dòng Nvidia, AMD hay Apple M hay chỉ một mình CPU. Bạn hẳn đã tìm ra điều này trước khi tải xuống bất cứ thứ gì. Trong trường hợp của chúng tôi, chúng tôi chọn A, vì máy tính xách tay của chúng tôi có GPU Nvidia.


Khi bạn đã trả lời câu hỏi, trình cài đặt sẽ xử lý phần còn lại. Bạn sẽ thấy nhiều thao tác cuộn văn bản, trước tiên là các thanh tiến trình văn bản đơn giản, sau đó là các thanh tiến trình màu hồng và màu xanh lá cây đẹp mắt hơn về mặt đồ họa khi trình cài đặt tải xuống và thiết lập mọi thứ cần thiết.


Khi kết thúc quá trình này (có thể mất tới một giờ), bạn sẽ nhận được thông báo cảnh báo được bao quanh bởi dấu hoa thị. Cảnh báo này sẽ cho bạn biết rằng bạn chưa tải xuống bất kỳ mô hình ngôn ngữ lớn nào. Đó là tin tốt! Điều đó có nghĩa là WebUI tạo văn bản sắp được cài đặt xong.


Tại thời điểm này, bạn sẽ thấy một số văn bản màu xanh lục có nội dung "Thông tin: Đang tải thư viện tiện ích mở rộng". Quá trình cài đặt của bạn đã hoàn tất nhưng chưa đóng cửa sổ lệnh.


6. Sao chép và dán địa chỉ cục bộ cho WebUI

Ngay bên dưới văn bản màu xanh lục, bạn sẽ thấy một dòng khác có nội dung "Chạy trên URL cục bộ: http://127.0.01:7860". Chỉ cần nhấp vào văn bản URL đó và nó sẽ mở trình duyệt web của bạn, cung cấp WebUI tạo văn bản—giao diện của bạn cho tất cả mọi thứ LLM.


Bạn có thể lưu URL này ở đâu đó hoặc đánh dấu nó trong trình duyệt của mình. Mặc dù WebUI tạo văn bản được truy cập thông qua trình duyệt của bạn nhưng nó vẫn chạy cục bộ nên sẽ hoạt động ngay cả khi Wi-Fi của bạn bị tắt. Mọi thứ trong giao diện web này đều cục bộ và dữ liệu được tạo sẽ ở chế độ riêng tư đối với bạn và máy của bạn.


7. Đóng và mở lại WebUI

Khi bạn đã truy cập thành công WebUI để xác nhận rằng nó đã được cài đặt chính xác, hãy tiếp tục và đóng cả trình duyệt và cửa sổ lệnh của bạn.

Trong thư mục AI_Tools của bạn, hãy mở cùng một tệp bó start_windows mà chúng tôi đã chạy để cài đặt mọi thứ. Nó sẽ mở lại cửa sổ CMD nhưng thay vì thực hiện toàn bộ quá trình cài đặt đó, nó sẽ tải lên một đoạn văn bản nhỏ bao gồm cả văn bản màu xanh lục trước khi thông báo cho bạn rằng thư viện tiện ích mở rộng đã được tải. Điều đó có nghĩa là WebUI đã sẵn sàng để mở lại trong trình duyệt của bạn.


Sử dụng cùng một URL cục bộ mà bạn đã sao chép hoặc đánh dấu trang trước đó và bạn sẽ được chào đón một lần nữa bởi giao diện WebUI. Đây là cách bạn sẽ mở công cụ này trong tương lai, để cửa sổ CMD mở ở chế độ nền.

8. Chọn và tải xuống LLM

Bây giờ bạn đã cài đặt và chạy WebUI, đã đến lúc tìm mô hình để tải. Như chúng tôi đã nói, bạn sẽ tìm thấy hàng nghìn LLM miễn phí mà bạn có thể tải xuống và sử dụng với WebUI và quá trình cài đặt một LLM khá đơn giản.

Nếu muốn có danh sách tuyển chọn các mô hình được đề xuất nhiều nhất, bạn có thể xem cộng đồng như /r/LocalLlaMA của Reddit, bao gồm một trang wiki cộng đồng liệt kê hàng chục mô hình. Nó cũng bao gồm thông tin về những mô hình khác nhau được xây dựng để làm gì, cũng như dữ liệu về những mô hình được hỗ trợ bởi phần cứng khác nhau. (Một số LLM chuyên về các tác vụ mã hóa, trong khi một số khác được xây dựng để trò chuyện bằng văn bản tự nhiên.)

Cuối cùng, những danh sách này sẽ đưa bạn đến Ôm Mặt, nơi đã trở thành kho lưu trữ LLM và tài nguyên. Nếu bạn đến đây từ Reddit, bạn có thể được chuyển thẳng đến thẻ mô hình, đây là trang thông tin chuyên dụng về một mô hình cụ thể có thể tải xuống. Các thẻ này cung cấp thông tin chung (như bộ dữ liệu và kỹ thuật đào tạo đã được sử dụng), danh sách các tệp cần tải xuống và trang cộng đồng nơi mọi người có thể để lại phản hồi cũng như yêu cầu trợ giúp và sửa lỗi.

Ở đầu mỗi thẻ model là một tên model lớn và đậm. Trong trường hợp của chúng tôi, chúng tôi đã sử dụng mô hình WizardLM 7B Uncensored do Eric Hartford tạo ra. Anh ta sử dụng tên hiển thị ehartford, vì vậy vị trí được liệt kê của mô hình là "ehartford/WizardLM-7B-Uncensored", chính xác như cách nó được liệt kê ở đầu thẻ mô hình.

Bên cạnh tiêu đề là một biểu tượng sao chép nhỏ. Nhấp vào nó và nó sẽ lưu tên model được định dạng chính xác vào khay nhớ tạm của bạn.


Quay lại WebUI, chuyển đến tab mô hình và nhập tên mô hình đó vào trường có nhãn "Tải xuống mô hình tùy chỉnh hoặc LoRA". Dán tên model, nhấn Tải xuống và phần mềm sẽ bắt đầu tải xuống các tệp cần thiết từ Ôm mặt.


Nếu thành công, bạn sẽ thấy thanh tiến trình màu cam bật lên trong cửa sổ WebUI và một số thanh tiến trình sẽ xuất hiện trong cửa sổ lệnh mà bạn để mở ở chế độ nền.



Sau khi hoàn tất (một lần nữa, hãy kiên nhẫn), thanh tiến trình WebUI sẽ biến mất và nó sẽ chỉ thông báo "Xong!" thay vì.

9. Tải mô hình và cài đặt của bạn trong WebUI

Sau khi tải xuống mô hình, bạn cần tải mô hình đó lên WebUI. Để thực hiện việc này, hãy chọn nó từ menu thả xuống ở phía trên bên trái của tab mô hình. (Nếu bạn đã tải xuống nhiều mô hình, đây là nơi bạn chọn một mô hình để sử dụng.)

Trước khi có thể sử dụng mô hình, bạn cần phân bổ một số bộ nhớ hệ thống hoặc đồ họa (hoặc cả hai) để chạy mô hình đó. Mặc dù bạn có thể điều chỉnh và tinh chỉnh gần như mọi thứ bạn muốn trong các mô hình này, bao gồm cả việc phân bổ bộ nhớ, nhưng tôi nhận thấy rằng việc đặt nó ở khoảng 2/3 bộ nhớ GPU và CPU là hoạt động tốt nhất. Điều đó để lại đủ bộ nhớ chưa sử dụng cho các chức năng PC khác của bạn trong khi vẫn cung cấp cho LLM đủ bộ nhớ để theo dõi và tổ chức cuộc trò chuyện lâu hơn.


Khi bạn đã phân bổ bộ nhớ, hãy nhấn nút Lưu Cài đặt để lưu lựa chọn của bạn và nó sẽ mặc định phân bổ bộ nhớ đó mỗi lần. Nếu muốn thay đổi, bạn chỉ cần đặt lại và nhấn Lưu Cài đặt lại.

10. Tận hưởng LLM của bạn!

Khi mô hình của bạn đã được tải và sẵn sàng hoạt động, đã đến lúc bắt đầu trò chuyện với giải pháp thay thế ChatGPT của bạn. Điều hướng trong WebUI đến tab Tạo văn bản. Ở đây bạn sẽ thấy giao diện văn bản thực tế để trò chuyện với AI. Nhập văn bản vào hộp, nhấn Enter để gửi và đợi bot phản hồi.


Ở đây, chúng tôi sẽ nói lại, là nơi bạn sẽ cảm thấy hơi thất vọng: Trừ khi bạn đang sử dụng một máy trạm siêu lừa đảo với nhiều GPU cao cấp và lượng bộ nhớ khổng lồ, LLM cục bộ của bạn sẽ không ở đâu gần như vậy. nhanh như ChatGPT hoặc Google Bard. Bot sẽ phun ra từng đoạn từ (được gọi là mã thông báo) cùng một lúc, với độ trễ đáng chú ý giữa mỗi từ.

Tuy nhiên, với một chút kiên nhẫn, bạn có thể trò chuyện đầy đủ với mô hình mà bạn đã tải xuống. Bạn có thể hỏi thông tin, chơi trò chơi dựa trên trò chuyện, thậm chí cung cấp cho nó một hoặc nhiều tính cách. Ngoài ra, bạn có thể sử dụng LLM với sự đảm bảo rằng các cuộc trò chuyện và dữ liệu của bạn là riêng tư, điều này mang lại sự an tâm.

Bạn sẽ gặp rất nhiều nội dung và khái niệm để khám phá khi bắt đầu với LLM địa phương. Khi sử dụng WebUI và các mô hình khác nhau nhiều hơn, bạn sẽ tìm hiểu thêm về cách chúng hoạt động. Nếu bạn không biết văn bản của mình từ mã thông báo hoặc GPTQ của bạn từ LoRA thì đây là những nơi lý tưởng để bắt đầu đắm mình vào thế giới học máy.